1.連線到資料庫
char *oid = "***/a";
exec sql connect :oid;
2.靜態sql語句
varchar emp_name[20];
exec sql select ename into :emp_name from emp where empno = 7499;
3.使用游標
struct person_str
;struct person_str pperson;
exec sql declare emp_cursor cursor for
select * from test01;
exec sql open emp_cursor;
for(;;)
exec sql close emp_cursor;
exec sql whenever not found do nothing();
4.oracle動態sql method1
exec sql execute immediate "create table dyn1(col1 varchar2(40))";
exec sql execute immediate "insert into dyn1 values('test')";
exec sql execute immediate "commit";
5.oracle動態sql method2
char * v = "ok";
exec sql prepare s from "insert into dyn1 values(:v1)";
exec sql execute s using :v;
exec sql execute immediate "commit";
6.oracle動態sql method3
char * sql = "select ename from emp where deptno=:v1";
int deptno = 20;
exec sql prepare s from :sql;
exec sql declare c cursor for s;
exec sql open c using :deptno;
exec sql whenever not found do break;
for(;;)
exec sql whenever not found do nothing();
exec sql close c;
7.標準動態sql
char* dyn_statement = "insert into emp (ename,empno) values(:ename_arr,:empno_arr)" ;
char ename_arr[3][6] = ;
short int ename_ind[3] = ;
int ename_len = 6, ename_type = 97, cnt = 2;
int empno_arr[3] = ;
int empno_len = 4 ;
int empno_type = 3 ;
int array_size = 3 ;
exec sql for :array_size allocate descriptor 'in' ;
exec sql set descriptor 'in' count = :cnt ;
exec sql set descriptor 'in' value 1 type = :ename_type, length
= :ename_len ;
exec sql set descriptor 'in' value 2 type = :empno_type, length
= :empno_len ;
exec sql for :array_size set descriptor 'in' value 1
data = :ename_arr, indicator = :ename_ind ;
exec sql for :array_size set descriptor 'in' value 2
data = :empno_arr ;
exec sql prepare s from :dyn_statement ;
exec sql for :array_size execute s using descriptor 'in' ;
exec sql commit release;
PROC程式設計
通過在過程化程式語言中嵌入sql語句而開發出的應用程式稱為pro程式。在c c 語言中嵌入sql語句而開發出的應用程式稱為pro c c 程式。在通用程式語言中使用的sql稱為嵌入式sql 在sql標準中定義了多種語言的嵌入式sql。宿主語言 pro程式 c c pro c c fortran pr...
資料庫(proc程式設計)
1 proc是什麼?proc是oracle用來預編譯嵌入sql語句的c程式。下圖展示了proc c c 程式的編寫 編譯流程。根據上圖可以看出proc只是預編譯一下源程式,即把 pc預編譯成標準的c或c 程式。2 怎樣編譯 鏈結 pc應用程式?本文以linux環境為例,首先要保證c c 的編譯器 g...
資料庫 Proc程式設計一
proc程式設計 嵌入式sql sql寫入到c語言程式中 proc程式設計標頭檔案路徑 11.2.0 dbhome 1 precomp public proc程式設計要注意proc編譯器也會使用gcc編譯器中的標頭檔案,所以需要在proc編譯器中進行配置,加上系統的標頭檔案路徑 11.2.0 dbh...