欢迎来到天天文库
浏览记录
ID:52313745
大小:221.51 KB
页数:20页
时间:2020-04-04
《数据库编程-补充材料-ORACLEproc.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、说明SQL通讯区在程序头加上EXECSQLINCLUDESQLCA;其中包括许多变量,如返回码等。与SQL连接语句(CONNECT)EXECSQLCONNECT:用户名变量IDENTIFIEDBY:口令变量或EXECSQLCONNECT:用户名变量/:口令变量1伪类型VARCHAR只有DECLARE部分引用,可认为是C的扩充类型。描述如下EXECSQLBEGINDECLARESECTION;VARCHARjob[20];EXECSQLENDDECLARESECTION;等价于:Struct{unsigned/*2bytes*/shortintlen;unsignedchararr[40]}
2、job;2在ORACLE上注册和注销说明:这是以SCOTT/TIGER为用户名和口令登陆进入数据库的PRO*C程序例。#includeEXECSQLBEGINDECLARESECTION;VARCHARuid[20];VARCHARpwd[20];EXECSQLENDDECLARESECTION;EXECSQLINCLUDESQLCA;3在ORACLE上注册和注销Main(){strcpy(uid.arr,”SCOTT”);uid.len=strlen(uid.arr);strcpy(pwd.arr,”TIGER”);pwd.len=strlen(pwd.arr);EXE
3、CSQLCONNECT:uidIDENTIFIEDBY:pwdPrintf(“connectedtooracleuser%s”,uid.arr);EXECSQLCOMMITWORKRELEASE;Exit(0);}4创建一个表#includeEXECSQLBEGINDECLARESECTION;VARCHARuid[20];VARCHARpwd[20];EXECSQLENDDECLARESECTION;EXECSQLINCLUDESQLCA;Main(){strcpy(uid.arr,”SCOTT”);uid.len=strlen(uid.arr);strcpy(pw
4、d.arr,”TIGER”);pwd.len=strlen(pwd.arr);5EXECSQLCONNECT:uidIDENTIFIEDBY:pwdPrintf(“connectedtooracleasuser%s”,uid.arr);EXECSQLCREATETABLEemp(empnonumber,enamechar(15),jobchar(10),mgrnumber,hiredatedate,salnumber,deptnonumber);Printf(“tableempcreated!”);EXECSQLCOMMITWORKRELEASE;Exit(0);}61.EXECU
5、TEIMMEDIATE预编译任何SQL语句(除SELECT)并执行之。SQL语句可以是文字量,但它可以不包括任何主变量(既不包括输入,也不包括输出主变量)EXECUTEIMMEDIATE只能带一个参数,执行一次2.PREPARE和EXECUTE语句预编译任何SQL语句(除SELECT)并执行之。语句可以包括输入或输出主变量。它的SQL语句仅被语法分析一次,可带多个参数,对任何SQL语句可多次使用,但必须保证变量的数目和相应的数据类型必须相同。PREPARE完成:预编译(分析)该SQL语句,并为其提供一个语句名。EXECUTE执行刚预编译的语句,使用USING提供的值。动态SQL语句四种方式
6、:73.PREPARE和FETCH语句允许使用SELECT语句,语句可以包括输入或输出主变量。这种方式的顺序是PREPARE,DECLEAR,OPEN和FETCH.变量的数目和相应的数据类型必须相同。4.使用赋值和定义描述符允许使用任何SQL语句,包括查询结果为单记录或多记录的SELECT语句。81.EXECUTEIMMEDIATE立即执行方式A.SQL语句不能是SELECT语句,只能是U,D,I语句B.SQL语句不能包含主变量例:EXECSQLBEGINDECLARESECTION;VARCHARdstring[80];…EXECSQLENDDECLARESECTION;scanf(“%
7、s”,dstring);EXECSQLEXECUTEIMMEDIATE:dstring;9EXECUTEIMMEDIATE实例这是一个提交修改语句的pro*c实例。#includeEXECSQLBEGINDECLARESECTION;VARCHARuid[20];VARCHARpwd[20];charselect[132];EXECSQLENDDECLARESECTION;EXECSQLINCLUDES
此文档下载收益归作者所有