Posted on 2006-03-07 20:37
天涯浪子 阅读(747)
评论(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;