在数据库画板中,选择菜单 View -- Interactive SQL 打开输入窗口,输入 SQL 语句及分号,选择菜单 Design -- Execute ISQL 或工具栏按钮 执行。
CONNECT { USING TransactionObject } ;
DISCONNECT { USING TranscationObject } ;
其中:TranscationObject 是事务对象,必须先行设置方可使用。
COMMIT { USING TransactionObject } ;
ROLLBACK { USING TransactionObject } ;
当断开数据库,系统自动提交。
变量名前加冒号称作绑定变量
SELECT FieldsList
INTO VarList FROM TableList WHERE conditions { USING TransactionObject } ; |
查询一条记录,查出多条记录将出错 |
INSERT INTO TableName ( FieldName [,...] )
VALUES ( Value [,...] ) { USING TransactionObject } ; |
插入一条记录 |
DELETE FROM TableName
WHERE conditions { USING TransactionObject } ; |
删除满足条件的记录 |
UPDATE TableName
SET FieldName = newvalue [, ...] WHERE conditions { USING TransactionObject } ; |
更新记录 |
SELECTBLOB BlobField
INTO VariableList FROM TableName WHERE conditions { USING TransactionObject } ; |
查询 BLOB 字段内容 |
UPDATEBLOB TableName
SET BlobColumn = BlobVariable WHERE conditions { USING TransactionObject } ; |
更新 BLOB 字段内容 |
上述查询只能查一条记录,此查询解决此问题。
取字段值后,应检查事务对象的 SQLCode 属性值是否为 0(表示操作成功)。
定义游标 | DECLARE CursorName CURSOR FOR
SELECT 语句 { USING TransactionObject } ; |
声明名为 CursorName 的游标,
SELECT 语句为标准 SQL 语句。 这义游标时并没有执行相应操作。 |
打开游标 | OPEN CursorName ; | 此时执行查询操作 |
取字段值 | FETCH CursorName
INTO VarList ; |
读取当前记录内容到各变量 |
关闭游标 | CLOSE CursorName ; | 释放游标占用的资源 |
没有输入
没有输出 |
EXECUTE IMMEDIATE SQLStatement
{ USING TransactionObject } ;
|
建立表、删除表等 |
参数个数已知
没有输出 |
PREPARE DynamicStagingArea FROM SQL 语句 { USING TransactionObject } ; EXECUTE DynamicStagingArea |
DynamicStagingArea 是动态策略区变量,
通常使用 SQLSA。 SQL 语句是字符串,包含 ?表示参数, 具体值在参数列表中确定 |
参数个数已知
有输出 |
使用游标
DECLARE Cursor DYNAMIC CURSOR FOR DynamicStagingArea ; PREPARE DynamicStagingArea FROM SQL 语句 { USING TransactionObject } ; OPEN DYNAMIC Cursor { USING 参数列表 }; FETCH { Cursor | INTO VarList } ; CLOSE Cursor; |
|
使用存储过程
DECLARE Procedure DYNAMIC PROCEDURE FOR DynamicStagingArea ; PREPARE DynamicStagingArea FROM SQL 语句 { USING TransactionObject } ; EXECUTE CYNAMIC Procedure { USING 参数列表 }; FETCH { Procedure INTO VarList } ; CLOSE Procedure; |
||
参数未知
结果未知 |
使用游标
DECLARE Cursor DYNAMIC CURSOR FOR DynamicStagingArea ; PREPARE DynamicStagingArea FROM SQL 语句 { USING TransactionObject }; DESCRIBE DynamicStagingArea INTO DynamicDescriptionArea; Open DYNAMIC Cursor { USING DESCRIPTOR DynamicDescriptionArea }; FETCH Cursor USING DESCRIPTOR DynamicDescriptionArea; CLOSE Cursor; |
|
使用存储过程
DECLARE Procedure DYNAMIC PROCEDURE FOR DynamicStagingArea ; PREPARE DynamicStagingArea FROM SQL 语句 { USING TransactionObject }; DESCRIBE DynamicStagingArea INTO DynamicDescriptionArea; EXECUTE DYNAMIC Procedure USING DESCRIPTOR DynamicDescriptionArea; FETCH Procedure USING DESCRIPTOR DynamicDescriptionArea; CLOSE Procedure; |
属性 / 方法 | 意义 |
---|---|
NumInputs | 输入参数个数 |
InParmType | 输入参数类型数组, 下标从 1 开始 |
NumOutputs | 输出参数个数 |
OutParmType | 输出参数类型数组,下标从 1 开始 |
GetDynamic...(n) | 取输出参数第 n 个值,与各种类型对应使用 |
GetDynamicNumber(n) | TypeInteger!、TypeDecimal!、TypeDouble!、TypeLong!、TypeReal!、TypeUInt!、TypeULong!、TypeBoolean! |
GetDynamicString(n) | TypeString! |
GetDynamicDate(n) | TypeDate! |
GetDynamicTime(n) | TypeTime! |
GetDynamicDateTime(n) | TypeDateTime! |