pro c程式設計基礎

2021-05-23 16:38:00 字數 2230 閱讀 7423

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...