Posted on 2006-03-07 20:37
天涯浪子 閱讀(752)
評論(0) 編輯 收藏 引用
1.宿主變量是一種Pro*C語言變量,用于在應用程序中和oracle數據庫之間傳遞數據,Pro*C程序中,
既可在SQL語句中引用,也可在C語句中引用的變量稱為SQL變量.
2.宿主變量一般定義在語句EXEC SQL BEGIN DECLARE SECTION和EXEC SQL
END DECLARE SECTION之間.
3.宿主變量的數據類型
數據類型 描述
char 單字符
char[n] N個定長字符數組
int 整數
short 短整數
long 長整數
float 單精度浮點數
double 雙精度浮點數
VARCHAR[n] 變長字符串
4.宿主變量的使用
若宿主變量在SQL語句中使用時,應在宿主變量前面加冒號(:).
輸入===>將應用程序的數據傳遞到數據庫中.
int salary,emp_number;
cin>>salary;cin>>emp_number;
EXEC SQL update emp set sal=:salary where
empno=:emp_number;
輸出===>將數據庫中的數據傳遞到應用程序中.
float v_salary;
char v_job;
EXEC SQL select sal,job INTO:v_salary,:v_job from emp
where empno=888;
cout<<v_salary<<v_job;
5.使用宿主變量的注意事項:
(1)最好在begin 和end之間聲明宿主變量
(2)在DDL語句中不能使用宿主變量.下面的例子是錯誤的:
char v_name[30];
cin>>v_name;
EXEC SQL DROP TABLE:v_name;