您的位置:首页 > 数据库

PROC基础知识之SQL变量

2010-04-05 19:47 218 查看
从数据结构角度来分,SQL变量有简单变量,数组和指针。从功能上分,又有输入,出和指示器变量。而输入和输出变量又叫宿主变量。在SELECT或者FETCH语句的INTO子句所引用的变量叫输出SQL变量,因为ORACLE把从数据库表列中选择的值存放到这类变量中。而在其它SQL语句(INSERT,UPDATE….)中所包含的变量都叫输入SQL变量,ORACLE把输入SQL变量中的数据输入给ORACLE存入数据库表列中,或与数据库表列中的数据进行比较。
在PROC程序中含有C和SQL两种语言的语句,为了解决他们之间的信息传递,特引入了一种变量,称为SQL变量。
SQL变量可以在SQL语句中使用,也可以在C语言中使用,但是C语言的变量只能在C语言中使用。
 
int empno;
char ename[10];
float sal;
……
EXEC SQL SELECT ename, sal INTO :ename, :sal FROM emp
WHERE empno = :empno;
•          SQL变量必须具有合法的内存地址,不能将数字或函数作为SQL变量,例如下面的代码是非法的:
#define MAX_EMP_NUM      9000
int get_dept();
……
EXEC SQL INSERT INTO emp (empno, ename, deptno) VALUES
(:MAX_EMP_NUM + 10, ’CHEN’, :get_dept());
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息