一些常用的ProC的语法.docx
- 文档编号:1493185
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:9
- 大小:45.83KB
一些常用的ProC的语法.docx
《一些常用的ProC的语法.docx》由会员分享,可在线阅读,更多相关《一些常用的ProC的语法.docx(9页珍藏版)》请在冰豆网上搜索。
一些常用的ProC的语法
一些常用的ProC的语法
CLOSE
作用:
关闭游标。
语法:
EXECSQLCLOSE{cursor|:
cursor_variable};
参数:
√ cursor:
SQL游标名。
√ cursor_variable:
PL/SQL游标变量名。
举例:
EXECSQLCLOSEauths_cursor;
COMMIT
作用:
提交事务、释放内存、断开连接。
语法:
EXECSQL[AT{:
host_variable|dbname}]COMMIT
[WORK][{[COMMENT‘text’][RELEASE]|[FORCE‘text’[:
integer]]}];
参数:
√ dbname:
使用DECLAREDATABASE语句定义,并使用CONNECT语句建立的数据库连接名。
√ host_variable:
宿主变量字符串,它是使用CONNECT语句建立的数据库连接名。
如果忽略AT子句,那么使用缺省数据库连接。
√ WORK:
COMMIT与COMMITWORK是等价的,使用该参数是为了与标准SQL兼容。
√ COMMENT:
用于指定与当前事务相关的注释,‘text’是用单引号括起来的不超过50个字符的字符串。
如果当前事务是“受怀疑的”,那么它将与事务ID号一起被存储到数据字典DBA_2PC_PENDING中。
√ RELEASE:
释放资源,断开连接。
√ FORCE:
手工提交“受怀疑的”分布式事务,该事务由‘text’所包含的事务ID号来标识,查询数据字典视图DBA_2PC_PENDING可以获得该ID号。
举例:
/* 使用DECLAREDATEBASE语句定义aca_db */
EXECSQLATaca_dbCOMMITRELEASE;
略AT子句,那么使用缺省数据库连接。
√ cusor:
游标名。
√ SELECTcommand:
与游标相关的SELECT语句。
√ statement_name:
与游标相关的SQL语句的标识符,该标识符必须使用DECLARESTATEMENT语句定义。
√ block_name:
与游标相关的PL/SQL块的标识符,该标识符必须使用DECLARESTATEMENT语句定义。
举例:
EXECSQLDECLAREauths_curCURSOR
FORSELECTauthor_code,name,salaryFROMauths
WHEREauthor_code=:
author_code
FORUPDATEOFsalary;
DELETE
作用:
删除表或视图基表中的数据。
语法:
EXECSQL[AT{:
host_variable|dbname}][FOR:
host_integer]DELETE[FROM]
{[schema.]{table[{PARTITION(partition_name)|@dblink}]|view[@dblink]}
|subquery}[alias][WHERE{conditions|CURRENTOFcursor}];
参数:
√ dbname:
使用DECLAREDATABASE语句定义,并使用CONNECT语句建立的数据库连接名。
√ host_variable:
宿主变量字符串,它是使用CONNECT语句建立的数据库连接名。
如果忽略AT子句,那么使用缺省数据库连接。
√ FOR:
host_integer:
当WHERE子句中包含宿主数组时,使用该子句用于限制语句的执行次数。
其中,host_integer是整数宿主变量。
√ schema:
包含表或视图的模式(schema)。
√ table:
表名。
√ view:
视图名。
√ dblink:
数据库链名。
√ partition_name:
表的分区名。
√ subquery:
子查询语句,该子查询所检索到的数据将被删除。
√ alias:
表、视图或子查询的别名。
√ WHERE:
指定条件子句。
√ conditions:
指定删除条件。
√ CURRENTOFcursor:
删除游标当前行,cursor为游标名。
举例:
EXECSQLDELETEFROMauthsWHEREauthor_code=:
author_code;
EXECSQLDECLAREarticle_curCURSOR
FORSELECTarticle_code,titleFROMarticle;
EXECSQLOPENarticle_cur;
EXECSQLFETCHarticle_curINTO:
article_code,:
title;
EXECSQLDELETEFROMarticleWHERECURRENTOFarticle_cur;
FETCH
作用:
推进游标、检索数据,并且将这些数据赋给宿主变量。
语法:
EXECSQL[FOR:
host_integer]FETCH{cursor|:
cursor_variable}
{USINGDESCRIPTORdescriptor|INTO
:
host_variable[[INDICATOR]:
indicator_variable]
[,:
host_variable[[INDICATOR]:
indicator_variable],…]
};
参数:
√ FOR:
host_integer:
当使用宿主数组时,该子句用于限制检索行数,其中,host_integer是整数宿主变量。
如果忽略该子句,那么检索到填满最小数组的行数为止。
√ cursor:
使用DECLARECURSOR语句定义的游标名。
√ cursor_variable:
使用ALLOCATE语句分配的游标变量名。
√ INTO:
指定宿主变量和指示变量列表。
√ USING:
指定描述区,该子句只用在动态SQL方法四中。
举例:
EXECSQLDECLAREauths_cursorCURSORFOR
SELECTname,salaryFROMauths;
EXECSQLOPENauths_cursor;
…
EXECSQLWHENEVERNOTFOUNDGOTO…
for(;
{
EXECSQLFETCHauths_cursorINTO:
name,:
salary;
…
}
INSERT
作用:
插入数据到表或视图基表中。
语法:
EXECSQL[AT{:
host_variable|dbname}][FOR:
host_integer]INSERTINTO
[subquery[schema.]{table|view}[@dblink|PARTITION(part_name)]]
[(column[,column,…])]{VALUES(expr[,expr,…])|(subquery)}
参数:
√ dbname:
使用DECLAREDATABASE语句定义,并使用CONNECT语句建立的数据库连接名。
√ host_variable:
宿主变量字符串,它是使用CONNECT语句建立的数据库连接名。
如果忽略AT子句,那么使用缺省数据库连接。
√ FOR:
host_integer:
当VALUES子句中包含宿主数组时,使用该子句可以限制语句的执行次数。
其中,host_integer是整数宿主变量。
如果忽略该子句,语句只执行一次。
√ schema:
包含表或视图的模式(schema)。
√ table:
表名。
√ view:
视图名。
√ dblink:
数据库链名。
√ part_name:
表的分区名。
√ column:
列名。
√ VALUES:
指定插入到表或视图中的数据。
√ subquery:
子查询。
举例:
EXECSQLINSERTINTOauths(author_code,name,birthdate,entry_date_time)
VALUES(:
author_code,:
name,:
birthdate,:
entry_date_time);
EXECSQLINSERTINTOnew_auths
(author_code,name,birthdate,entry_date_time)
SELECTauthor_code,name,birthdate,entry_date_time
FROMauthsWHEREauthor_code=:
author_code;
OPEN
作用:
打开游标。
语法:
EXECSQLOPENcursor
[USING
DESCRIPTORdescriptor_name|
:
host_variable[INDICATOR]:
indicator_variable
]
参数:
√ cursor:
游标名。
√ host_variable:
宿主变量。
√ indicator_variable:
与host_variable相关的指示变量。
√ DESCRIPTORdescriptor_name:
指定描述区。
其中descriptor_name是描述区名,描述区必须使用DESCRIPTOR语句初始化。
举例:
EXECSQLDECLAREauths_cursorCURSORFOR
SELECTname,salary
FROMauths
WHEREauthor_code=:
author_code;
EXECSQLOPENauths_cursor;
PREPARE
作用:
准备动态SQL语句或PL/SQL块。
语法:
EXECSQLPREPAREstatement_idFROM
{
[:
host_string]|[‘text’]|[select_command]
}
参数:
√
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一些 常用 ProC 语法