数据库编程-补充材料-ORACLEproc.ppt
《数据库编程-补充材料-ORACLEproc.ppt》由会员分享,可在线阅读,更多相关《数据库编程-补充材料-ORACLEproc.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、说明说明SQL通讯区通讯区 在程序头加上在程序头加上EXEC SQL INCLUDE SQLCA;其中包括许多变量,如返回码等。其中包括许多变量,如返回码等。与与SQL连接语句(连接语句(CONNECT)EXEC SQL CONNECT:用户名变量用户名变量 IDENTIFIED BY :口令变量:口令变量或或 EXEC SQL CONNECT:用户名变量用户名变量/:口令变量:口令变量1伪类型伪类型VARCHAR 只有只有DECLAREDECLARE部分引用,可认为是部分引用,可认为是C C的扩充类的扩充类型。描述如下型。描述如下EXEC SQL BEGIN DECLARE SECTION;
2、VARCHAR job20;EXEC SQL END DECLARE SECTION;等价于:等价于:Struct unsigned/*2bytes*/short int len;unsigned char arr40 job;2在在ORACLE上注册和注销上注册和注销 说明:这是以说明:这是以SCOTT/TIGERSCOTT/TIGER为用户名和口令为用户名和口令登陆进入数据库的登陆进入数据库的PRO*CPRO*C程序例。程序例。#include EXEC SQL BEGIN DECLARE SECTION;VARCHAR uid20;VARCHAR pwd20;EXEC SQL END D
3、ECLARE SECTION;EXEC SQL INCLUDE SQLCA;3在在ORACLE上注册和注销上注册和注销 Main()strcpy(uid.arr,”SCOTT”);uid.len=strlen(uid.arr);strcpy(pwd.arr,”TIGER”);pwd.len=strlen(pwd.arr);EXEC SQL CONNECT:uid IDENTIFIED BY :pwd Printf(“connect ed to oracle user%sn”,uid.arr);EXEC SQL COMMIT WORK RELEASE;Exit(0);4创建一个表创建一个表#in
4、clude EXEC SQL BEGIN DECLARE SECTION;VARCHAR uid20;VARCHAR pwd20;EXEC SQL END DECLARE SECTION;EXEC SQL INCLUDE SQLCA;Main()strcpy(uid.arr,”SCOTT”);uid.len=strlen(uid.arr);strcpy(pwd.arr,”TIGER”);pwd.len=strlen(pwd.arr);5EXEC SQL CONNECT:uid IDENTIFIED BY :pwd Printf(“connected to oracle as user%sn”,
5、uid.arr);EXEC SQL CREATE TABLE emp(empno number,ename char(15),job char(10),mgr number,hiredate date,sal number,deptno number);Printf(“table emp created!n”);EXEC SQL COMMIT WORK RELEASE;Exit(0);61.EXECUTE IMMEDIATE预编译任何预编译任何SQL语句(除语句(除SELECT)并执行之。)并执行之。SQL语句语句可以是文字量,但它可以不包括任何主变量(既不包括输可以是文字量,但它可以不包括任
6、何主变量(既不包括输入,也不包括输出主变量)入,也不包括输出主变量)EXECUTE IMMEDIATE只能带一个参数,执行一次只能带一个参数,执行一次2.PREPARE 和和EXECUTE语句语句预编译任何预编译任何SQL语句(除语句(除SELECT)并执行之。语句可以)并执行之。语句可以包括输入或输出主变量。它的包括输入或输出主变量。它的SQL语句仅被语法分析一次,语句仅被语法分析一次,可带多个参数,对任何可带多个参数,对任何SQL语句可多次使用,但必须保证语句可多次使用,但必须保证变量的数目和相应的数据类型必须相同。变量的数目和相应的数据类型必须相同。PREPARE完成:完成:预编译(分析
7、)该预编译(分析)该SQL语句,并为其提语句,并为其提供一个语句名。供一个语句名。EXECUTE执行刚预编译的语句,使用执行刚预编译的语句,使用USING提供的值。提供的值。动态动态SQL语句语句四种方式:四种方式:73.PREPARE 和和FETCH语句语句允许使用允许使用SELECT语句语句,语句可以包括输入或输出主语句可以包括输入或输出主变量。这种方式的顺序是变量。这种方式的顺序是PREPARE,DECLEAR,OPEN和和FETCH.变量的数目和相应的数变量的数目和相应的数据类型必须相同。据类型必须相同。4.使用赋值和定义描述符使用赋值和定义描述符允许使用任何允许使用任何SQL语句,包
8、括查询结果为单记录或多语句,包括查询结果为单记录或多记录的记录的SELECT语句。语句。81.EXECUTE IMMEDIATE 立即执行方式立即执行方式 A.A.SQL语句不能是语句不能是SELECT语句,只能是语句,只能是U,D,I语句语句 B.SQL语句不能包含主变量语句不能包含主变量例:例:EXEC SQL BEGIN DECLARE SECTION;VARCHAR dstring80;EXEC SQL END DECLARE SECTION;scanf(“%s”,dstring);EXEC SQL EXECUTE IMMEDIATE :dstring;9EXECUTE IMMEDIA
9、TE 实例实例 这是一个提交修改语句的这是一个提交修改语句的pro*cpro*c实例。实例。#include EXEC SQL BEGIN DECLARE SECTION;VARCHAR uid20;VARCHAR pwd20;char select132;EXEC SQL END DECLARE SECTION;EXEC SQL INCLUDE SQLCA;Main()char where80;int scode;10strcpy(uid.arr,”SCOTT”);uid.len=strlen(uid.arr);strcpy(pwd.arr,”TIGER”);pwd.len=strlen(p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 编程 补充 材料 ORACLEproc
限制150内