SQL嵌入到其它语言中,这个时候编译需要其他方法
1.扩充主语言编译系统,使之能够处理SQL语句
2.预处理:在编译前先扫描源程序,将SQL语句翻译成目标(或主语言程序)过程代码,并将SQL执行翻译成主语言的过程调用预处理后的源程序再交给诸语言的编译系统处理
在使用时,所有的SQL语句都要加EXEC SQL在前面,后面PL/1,C时,用;,COBOL用END-EXEC
通信:
1.SQLCODE
这是一个整型变量,他会记录SQL语句的执行情况
0就是成功执行,
100就是没查到数据,
负数就是出现异常,为异常值
所以在执行SQL语句之后要检查SQLCODE再继续
2.主语言变量
当主语言变量经过
EXEC SQL BEGIN DECLARE SECTION;
主语言变量说明;
EXEC SQL END DECLARE SECTION;
就可以再SQL之中使用这个主语言变量了,我们
主语言语句可以提前对SQL语句使用的主语言变量赋值,将特定值传递给SQL语句
SQL语句也可以将查询结果存放到主语言变量中,供主语言教育局使用。就叫主变量
主变量没有NULL,所以引入指示变量
指示变量是主语言的整型变量,如果小于零,那就是主变量
3.游标
SQL语句有些会的到多个记录,这个主语言不好处理,我们引入一个东西叫游标,就是一个缓冲区,来存放这些结果,主语言一一获取就行
使用游标先定义游标,打开游标,用SQL一一提取,使用完关闭游标
连接数据库
EXEC SQL CONNECT TO <SQL服务器>
[AS<连接名>][USER<用户名>];
EXEC SQL CONNECT TO DEFAULT;
关闭
EXEC SQL DISCONNECT <链接名>