一些常用的ProC的语法Word文档格式.docx
《一些常用的ProC的语法Word文档格式.docx》由会员分享,可在线阅读,更多相关《一些常用的ProC的语法Word文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
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
删除表或视图基表中的数据。
host_variable|dbname}][FOR:
host_integer]DELETE[FROM]
{[schema.]{table[{PARTITION(partition_name)|@dblink}]|view[@dblink]}
|subquery}[alias][WHERE{conditions|CURRENTOFcursor}];
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]
[,:
indicator_variable],…]
};
当使用宿主数组时,该子句用于限制检索行数,其中,host_integer是整数宿主变量。
如果忽略该子句,那么检索到填满最小数组的行数为止。
使用DECLARECURSOR语句定义的游标名。
使用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)}
当VALUES子句中包含宿主数组时,使用该子句可以限制语句的执行次数。
如果忽略该子句,语句只执行一次。
part_name:
column:
列名。
VALUES:
指定插入到表或视图中的数据。
子查询。
EXECSQLINSERTINTOauths(author_code,name,birthdate,entry_date_time)
VALUES(:
author_code,:
birthdate,:
entry_date_time);
EXECSQLINSERTINTOnew_auths
(author_code,name,birthdate,entry_date_time)
SELECTauthor_code,name,birthdate,entry_date_time
FROMauthsWHEREauthor_code=:
OPEN
打开游标。
EXECSQLOPENcursor
[USING
DESCRIPTORdescriptor_name|
:
host_variable[INDICATOR]:
indicator_variable
]
宿主变量。
indicator_variable:
与host_variable相关的指示变量。
DESCRIPTORdescriptor_name:
指定描述区。
其中descriptor_name是描述区名,描述区必须使用DESCRIPTOR语句初始化。
SELECTname,salary
FROMauths
EXECSQLOPENauths_cursor;
PREPARE
准备动态SQL语句或PL/SQL块。
EXECSQLPREPAREstatement_idFROM
[:
host_string]|[‘text’]|[select_command]