




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 说明SQL通讯区 在程序头加上EXECSQLINCLUDESQLCA 其中包括许多变量 如返回码等 与SQL连接语句 CONNECT EXECSQLCONNECT 用户名变量IDENTIFIEDBY 口令变量或EXECSQLCONNECT 用户名变量 口令变量 2 伪类型VARCHAR 只有DECLARE部分引用 可认为是C的扩充类型 描述如下EXECSQLBEGINDECLARESECTION VARCHARjob 20 EXECSQLENDDECLARESECTION 等价于 Struct unsigned 2bytes shortintlen unsignedchararr 40 job 3 在ORACLE上注册和注销 说明 这是以SCOTT TIGER为用户名和口令登陆进入数据库的PRO C程序例 includeEXECSQLBEGINDECLARESECTION VARCHARuid 20 VARCHARpwd 20 EXECSQLENDDECLARESECTION EXECSQLINCLUDESQLCA 4 在ORACLE上注册和注销 Main strcpy uid arr SCOTT uid len strlen uid arr strcpy pwd arr TIGER pwd len strlen pwd arr EXECSQLCONNECT uidIDENTIFIEDBY pwdPrintf connectedtooracleuser s n uid arr EXECSQLCOMMITWORKRELEASE Exit 0 5 创建一个表 includeEXECSQLBEGINDECLARESECTION VARCHARuid 20 VARCHARpwd 20 EXECSQLENDDECLARESECTION EXECSQLINCLUDESQLCA Main strcpy uid arr SCOTT uid len strlen uid arr strcpy pwd arr TIGER pwd len strlen pwd arr 6 EXECSQLCONNECT uidIDENTIFIEDBY pwdPrintf connectedtooracleasuser s n uid arr EXECSQLCREATETABLEemp empnonumber enamechar 15 jobchar 10 mgrnumber hiredatedate salnumber deptnonumber Printf tableempcreated n EXECSQLCOMMITWORKRELEASE Exit 0 7 1 EXECUTEIMMEDIATE预编译任何SQL语句 除SELECT 并执行之 SQL语句可以是文字量 但它可以不包括任何主变量 既不包括输入 也不包括输出主变量 EXECUTEIMMEDIATE只能带一个参数 执行一次2 PREPARE和EXECUTE语句预编译任何SQL语句 除SELECT 并执行之 语句可以包括输入或输出主变量 它的SQL语句仅被语法分析一次 可带多个参数 对任何SQL语句可多次使用 但必须保证变量的数目和相应的数据类型必须相同 PREPARE完成 预编译 分析 该SQL语句 并为其提供一个语句名 EXECUTE执行刚预编译的语句 使用USING提供的值 动态SQL语句四种方式 8 3 PREPARE和FETCH语句允许使用SELECT语句 语句可以包括输入或输出主变量 这种方式的顺序是PREPARE DECLEAR OPEN和FETCH 变量的数目和相应的数据类型必须相同 4 使用赋值和定义描述符允许使用任何SQL语句 包括查询结果为单记录或多记录的SELECT语句 9 1 EXECUTEIMMEDIATE立即执行方式 A SQL语句不能是SELECT语句 只能是U D I语句B SQL语句不能包含主变量例 EXECSQLBEGINDECLARESECTION VARCHARdstring 80 EXECSQLENDDECLARESECTION scanf s dstring EXECSQLEXECUTEIMMEDIATE dstring 10 EXECUTEIMMEDIATE实例 这是一个提交修改语句的pro c实例 includeEXECSQLBEGINDECLARESECTION VARCHARuid 20 VARCHARpwd 20 charselect 132 EXECSQLENDDECLARESECTION EXECSQLINCLUDESQLCA Main charwhere 80 intscode 11 strcpy uid arr SCOTT uid len strlen uid arr strcpy pwd arr TIGER pwd len strlen pwd arr EXECSQLWHENEVERSQLERRORSTOP EXECSQLCONNECT uidIDENTIFIEDBY pwdPrintf connectedtooracleasuser s n uid arr strcpy select UPDATEEMPSETCOMM 100WHERE Printf pleaseenterwhereclauseforthefollowing n Printf s select Scode scanf s where If scode EOF scode 0 12 Printf invalidentry n exit 1 Strcat select where EXECSQLEXECUTEIMMEDIATE select Printf drecordsupdated n sqlca sqlerrd 2 EXECSQLWHENEVERSQLERRORCONTINUE EXECSQLCOMMITWORKRELEASE Exit 0 13 2 PREPARE和EXECUTE语句准备执行方式 A SQL语句不能是SELECT语句 只能是U D I语句B SQL语句可包含主变量 可多次使用 例 要执行deletefromempwhereempno pempnoscanf s dstring EXECSQLPREPAREs1FROM dstring scanf d 可以USING VAR1 VAR2 14 PREPARE和EXECUTE实例 这是一个提交修改语句的pro c实例 includeEXECSQLBEGINDECLARESECTION VARCHARuid 20 VARCHARpwd 20 charselect 132 floatcomm EXECSQLENDDECLARESECTION EXECSQLINCLUDESQLCA Main charwhere 80 intscode 15 strcpy uid arr SCOTT uid len strlen uid arr strcpy pwd arr TIGER pwd len strlen pwd arr EXECSQLWHENEVERSQLERRORGOTOerrpt EXECSQLCONNECT uidIDENTIFIEDBY pwdPrintf connectedtooracleasuser s n uid arr strcpy select UPDATEEMPSETCOMM commWHERE Printf pleaseenterwhereclauseforthefollowing n Printf s select Scode scanf s where If scode EOF scode 0 16 Printf invalidentry n exit 1 Strcat select where EXECSQLPREPARES1FROM select Printf pleaseentercommission Scanf f 17 3 PREPARE和FETCH语句 针对SELECT语句引用方式用以下五步 A PREPAREFROMB DECLAREFORC OPEN USING 变量名1 变量名2 D FETCHINTO 变量名1 变量名2 E CLOSE 18 PREPARE和EXECUTE实例 这是一个在查询中使用WHERE语句的pro c实例 includeEXECSQLBEGINDECLARESECTION VARCHARuid 20 VARCHARpwd 20 charselect 132 floatsal intdepno charename 10 EXECSQLENDDECLARESECTION EXECSQLINCLUDESQLCA Main charwhere 80 intscode inti strcpy uid arr SCOTT uid len strlen uid arr strcpy pwd arr TIGER pwd len strlen pwd arr 19 EXECSQLWHENEVERSQLERRORGOTOerrpt EXECSQLCONNECT uidIDENTIFIEDBY pwdPrintf connectedtooracleasuser s n uid arr strcpy select selectename salfromEMP Printf pleaseenterwhereclauseforthefollowing n Printf s select Scode scanf s where If scode EOF scode 0 Printf invalidentry n exit 1 Strcat select where EXECSQLPREPARES1FROM select 20 EXECSQLDECLAREC1CURSORFORS1 EXECSQLOPENC1 EXECSQLWHENEVERNOTFOUNDGOTOendloop For i 1 i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 培训机构入股合同范本
- 海尔空调采购合同范本
- 海绵鞋料售卖合同范本
- 社区广告合作合同范本
- 商场店面装修合同范本
- 宜州租房转租合同范本
- 石材施工采购合同范本
- 简单的付款合同范本
- 工程押金协议合同范本
- 外卖代理合同范本
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、异丙醇和正丁醇检验
- 关于规范学校中层及以上领导干部岗位设置及任免办法
- 《现代汉语》课件修辞
- 某园区综合运营平台项目建议书
- 创造适合教育(2017年0613)
- 微创外科课件
- GB/T 21977-2022骆驼绒
- 易驱ED3000系列变频器说明书
- 农机行政处罚流程图
- GB∕T 6818-2019 工业用辛醇(2-乙基己醇)
- 钻具内防喷工具课件
评论
0/150
提交评论