ProC基础教程-简化版_Vol5基本增删改.doc
上传人:sy****28 上传时间:2024-09-14 格式:DOC 页数:4 大小:33KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

ProC基础教程-简化版_Vol5基本增删改.doc

ProC基础教程-简化版_Vol5基本增删改.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

前言主要介绍基本的CRUD操作语句以及相关知识点。数据插入使用嵌入式INSERT语句一次插入一行或多行记录一行记录EXECSQLINSERTINTOTALBE_NAME(XXX,XXX,XXX)VALUE(:xxx,:xxx,:xxx);多行记录EXECSQLBEGINDECLARESECTION;charaaa[100][20];floatbbb[100];intinsert_rows;EXECSQLENDDECLARESECTION;insert_rows=50;EXECSQLINSERTFOR:insert_rowsINSERTINTOTABLE_NAME(AAA,BBB)VALUES(:aaa,:bbb);几点说明往一张表中插记录,首先需要保证登录的用户有执行权限;FOR子句用于设置处理的数组元素数量,适用于INSERT,UPDATE,DELETE操作。FOR之后的一定需要是SQL宿主变量,而不可以为C语言的常量与字面值;使用数组时,WHERE子句后要不全部是标量,要不全部为数组,二者不可以混用。如果为标量,则ORACLE执行一次,如果为数组,则ORACLE对每一组数组元素执行一次INSERT语句。WHERE子句中的数组大小可以不同,在这种情况下:没有FOR子句时,由较小的数组维数决定;有FOR子句时,由其后的数组变量决定。数据更新使用嵌入式UPDATE语句更新数据库中的记录信息更新一条记录EXECSQLUPDATETABLE_NAMESETAAA=:aaaWHEREBBB=:bbb更新一组记录charbbb[10][20];floataaa;EXECSQLUPDATETABLE_NAMESETXXX=:aaaWHEREBBB=:bbb几点说明执行更新时,必须有执行权限使用数组时,WHERE子句后要不全部是标量,要不全部为数组,二者不可以混用。如果为标量,则ORACLE执行一次,如果为数组,则ORACLE对每一组数组元素执行一次UPDATE语句。WHERE子句中的数组大小可以不同,在这种情况下:没有FOR子句时,由较小的数组维数决定;有FOR子句时,由其后的数组变量决定。累计修改的行数在SQLCA的SQLERRD[2]中返回如果没有满足条件的记录被更新,则返回错误信息数据删除使用嵌入式DELETE语句,删除数据库中的记录信息简单删除EXECSQLDELETEFROMTABLENAMEWHEREXXX=:xxx;光标删除/*声明游标*/EXECSQLDECLAREtmp_cursorforSELECT…./*打开当前游标*/EXECSQLOPENtmp_cursor;/*执行FETCH动作*/EXECSQLFETCHtmp_cursorINTO:xxx,:yyy;EXECSQLDELETEFROMTABLE_NAMEWHERECURRENTOFtmp_cursor;使用数组删除intnumber[10];EXECSQLDELETEFROMTABLE_NAMEWHEREXXX=:xxx;几点说明首先需要拥有相应表的删除权限使用数组时,WHERE子句后要不全部是标量,要不全部为数组,二者不可以混用。如果为标量,则ORACLE执行一次,如果为数组,则ORACLE对每一组数组元素执行一次DELETE语句。WHERE子句中的数组大小可以不同,在这种情况下:没有FOR子句时,由较小的数组维数决定;有FOR子句时,由其后的数组变量决定。如果没有满足DELETE的条件的行被删除,则返回"NOTFOUND"错误码SQLCA中的SQLERRD[2]返回删除的累计行数。