宿主变量

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;  

你可能感兴趣的:(宿主变量)