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());
在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());
相关文章推荐
- PROC基础知识之指示变量变量
- PROC基础知识之指示变量变量
- PROC基础知识之VARCHAR变量
- PROC基础知识之CURSOR变量
- SQL 基础知识-声明变量-变量类型
- PL/SQL基础知识1(复合变量,异常处理)
- PROC基础知识之指示变量变量
- PROC基础知识之指示变量变量
- PROC基础知识之结构型宿主变量
- SQL基础系列(3)-变量、函数、存储过程等
- SQL数据库基础知识--------用sql语句创建数据库
- C++中变量的基础知识
- Java编程基础知识复习:变量与数据类型<数据类型初阶>
- java基础知识4-变量比较,类型转换
- oracle: sql 基础知识
- SQL基础知识 - 视图
- 【基础知识】Sql和Ado.Net第12天
- salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句
- Java基础知识复习(对象、变量)
- java基础知识和JDK环境变量的配置