已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西北海市产业园区改革发展办公室招录公益性岗位人员1人笔试考试参考题库及答案解析
- 建筑工程施工过程管理实践教案(2025-2026学年)
- 一年级拼音拼读练习教案
- 2025可克达拉市第一高级中学招聘高中数学代课教师(1人)考试笔试备考题库及答案解析
- 燕子过海原创教案
- 苏教小学科学四上《声音的传播》教案
- 膝关节穿刺有图教案
- 高中地理第一讲地球的宇宙环境太阳对地球的影响湘教版必修教案(2025-2026学年)
- 广联达软件在全过程造价管理中的应用教案
- 四川省攀枝花市仁和区布德中小学中考数学梯形复习教案
- 2025扬州高端装备制造行业市场现状供需分析及投资评估规划分析研究报告
- 【史】人民解放战争的胜利 课件 2025-2026学年统编版八年级历史上册
- 25年国开电大习概专题测验1-17参考答案
- 糖尿病患者一站式管理
- 污水处理设备质量保证措施
- 农业种植项目计划与农产品销售方案
- 智能巡检机器人室外应用技术方案
- 建设工程安全文明施工费计价管理办法
- 核桃编程岗前笔试考试及答案解析
- IP驱动价值新叙-2025年中国网文IP短剧开发价值报告
- 2025年广东省选调生考试行测真题及答案解析
评论
0/150
提交评论