PowerBuilder程序设计语言之SQL语句在线教程
14.3.1 CLOSE CURSOR
CLOSE CURSOR的语法格式为:
CLOSE CURSORNAME;
关闭CURSORNAME代表的由OPEN打开的游标,正在使用的游标不能关闭。通常检索后在SQLCode等于100时使用,在执行该语句后最好检测关闭是否成功。
14.3.2 CLOSE Procedure
CLOSE Prodedure语句的语法格式为:
CLOSE ProcedureName;
关闭SQL名为ProcedureName的过程,这一语句只能在使用EXECUTE执行了该过程后关闭该过程的时候才能使用。用户不能对使用USING TransactionObject子句的事务对象说明的过程使用CLOSE语句。用户只需要关闭那些返回状态信息的程序,对于那些不返回状态信息或者返回状态信息代码为100的程序,POWER BUILDER自动地关闭它们。
14.3.3 COMMIT
COMMIT语句的语法格式为:
COMMIT [USING TransactionObject];
TransactionObject代表自上一次COMMIT、ROLLBACK或者CONNECT操作以来的需要永久更新的数据库操作的事物对象的名称。该子句仅在操纵除默认事务对象(SQLCA)以外的事务对象的需要。该语句会关闭所有的游标和过程,但不会引起连接中断。
14.3.4 CONNECT
CONNECT语句的语法格式为:
CONNECT [USING TransactionObject];
TransactionObject代表包含数据库连接信息事务对象名称。连接默认事务对象SQLCA,在对数据库进行任何的操作之前,必须首先使用CONNECT语句连接数据库。
14.3.5 DECLARE Cursor
DECLARE Cursor语句的语法格式为:
DECLARE CursorNsme CURSOR FOR SelectStatement
[USING TransactionObject];
CursorName代表游标名,可以使用任何有效的POWER BUILDER标识符。SelectStatement代表SELECT语句。除使用默认事务对象SQLCA外的事务对象需要使用USING TransectionObject指明使用的事务对象。
这个语句为指定的事务对象说明一个游标,是一个不可执行语句。用户可以使用该语句按照与说明变量类似的方法,说明某事务对象的游标。
例如,下面说明了一个名为CUR的游标:
DECLARE CUR CURSOR FOR
SELECT database.field1, database.field2
FROM database
WHERE database.field >= 36;
14.3.6 DECLARE Procedure
DECLARE Procedure语句的语法格式为:
DECLARE ProcedureName PROCEDURE FOR
StoredProcedureName
@Praram1 = Value1 , @Param2 = Value2 , ......
[USING TransactionObject];
ProcedureName代表过程名,可以使用任何POWER BUILDER接受的标识符,StoredProcedureName 代表数据库中保存的过程,@Praram1是StoredProcedureName过程的参数,在@Praram1后的VALUE1是它的初始化值,USING TransactionObject子句指明引用的事务对象,如果缺省该子句,表示使用默认事务对象SQLCA。
14.3.7 DELETE
DELETE删除某事务对象中的表中的数据。其语法格式为:
DELETE FROM TableName WHERE Criteria
[USING TransactionObject];
TableName代表将要删除的数据的持有表,Criteria指明删除的标准,USING TransectionObject指明使用的事务对象,缺省表示使用SQLCA。
删除游标中当前数据和与之对应的表中的数据,可以使用下面的DELETE语句。
DELETE FROM TableName WHERE CURRENT OF CursorName
TableName是持有要删除数据的表的标识符,CursorName是与之对应的游标名。
14.3.8 DISCONNECT
DISCONNECT首先执行COMMIT语句,然后与数据库解除连接。其语法格式为:
DISCONNECT [USING TransactionObject];
TransactionObject是包含需要接触连接数据库信息的事务对象。
14.3.9 EXECUTE
EXECUTE语句执行一个已说明的过程,在这里不需要指明事务对 象,因为在说明过程时事务对象已经指明。EXECUTE的语法格式为:
EXECUTE ProcedureName;
其中ProcedureName指明要求执行的过程的名字。
14.3.10 FETCH
FETCH语句从游标或者过程中读取当前的记录,并把它们存储在指定的变量当中。数据库支持的情况下,用户还可以使用FETCH FIRST、FETCH PRIOR或FETCH LAST语句。FETCH语句的语法格式为:
FETCH Cursorname Procedure INTO HostVariableList;
其中HostVariableList代表存储数据库记录的变量列表。
14.3.11 INSERT
INSERT语句在数据库中插入一条记录。其语法格式为:
INSERT INTO TableName(FieldName[,...])
VALUES (ValueOfField[,...])
[USING TransactionObject];
14.3.12 OPEN
OPEN语句打开了说明的游标,并执行了相应的SQL语句。其语法格式为:
OPEN CursorName;
其中CursorName代表游标名。
14.3.13 ROLLBACK
ROLLBACK语句表示放弃自上一个COMMIT、ROLLBACK或者CONNECT语句以来的所有数据库操作,并关闭所有的游标和过程。其语法格式为:
ROLLBACK [USING TransactionName];
其中TransactionObject代表在使用非默认事务对象时的事务对象名。
14.3.14 SELECT
SELECT语句检索一条记录,如果找到多于一条的记录,则发生错误。其语法格式为:
SELECT FieldOFTableList
INTO VariableList
FROM TableName
WHERE Criteria
[USING TransactionObject];
其中FieldOFTableList代表接收数据的变量名列表,TableName代表被检索的表名,Criteria是检索条件,TransactionObject代表在使用非默认事务对象时的事务对象名。
14.3.15 SELECTBLOB
SELECTBLOB检索blob型数据,找到多条符和查询条件的数据时,事务对象状态属性将指明错误。其句法为:
SELECTBLOB BlobFieldOFTableList
INTO VariableList
FROM TableName
WHERE Criteria
[USING TransactionObject];
其中FieldOFTableList代表blob型字段名列表,VariableList代表接受数据的blob变量名列表,TableName代表被检索的表名,Criteria是检索条件,TransactionObject代表在使用非默认事务对象时的事务对象名。
14.3.16 UPDATE
UPDATE修改指定的数据,其句法为:
UPDATE TableName
SET FieldName = VarName
WHERE Criteria
[USING TransactionObject];
用下面的UPDATE语句可以修改与游标当前所指对应的记录,其句法为:
UPDATE TableName
SET FieldName = VarName
WHERE CURRENT OF CurSortName;
14.3.17 UPDATEBLOB
UPDATEBLOB语句修改blob型数据。格式为:
UPDATEBLOB TableName
SET BlobColumn = BlobVariable
WHERE Criteria
[USING TransactionObject];
其中Tablename指需修改blob所在的表,BlobColumn指blob数据所在的列名,BlobVariable代表包含blob数据的变量。