PowerBuilder是目前最流行的數據庫開發工具之一
因此這種嵌入式SQL語句在實際應用中有一定的局限性
一
(一)第一種格式
當執行沒有輸入參數並且沒有返回結果集的SQL語句時可以使用這種格式
EXECUTE IMMEDIATE SQLStatement{USING TransactionObject};
其中SQLStatement是要執行的SQL語句
①建立一張數據庫表(base)
EXECUTE IMMEDIATE
②執行對數據庫記錄的操作
STRING lsSQL
LsSQL=
EXECUTE IMMEDIATE:lsSQL;
(二)第二種格式
當執行帶輸入參數但沒有返回結果集時的SQL語句可以采用第二種格式
PREPARE DynamicStagingArea FROM SQLStatement{USING TransactionObject};
EXECUTE DynamicstagingArea{USING Parameterlist};
其中
刪除base表中的滿足一定條件的記錄
STRING lsCode
lsCode=
PREPARE SQLSA FROM
EXECUTE SQLSA USING:lsCode;
(三)第三種格式
當執行有輸入參數並且返回結果集的格式在編譯時可以確定的SQL語句時可以使用第三種格式
DECLARE cursor DYNAMIC CURSOR FOR DynamicStagingArea;
PREPARE DynamicStagingArea FROM SQLStatement{USING TransactionObject};
OPEN DYNAMIC cursor {USING Parameterlist};
FETCH cursor INTO VariableList;
CLOSE cursor;
其中cursor是用戶所定義的游標的名字
將表base中的code字段中間兩位為
STRING lsSQL
LsFilter=
LsSQL=
DECLARE cursor_base DYNAMIC CURSOR FOR SQLSA;
PREPARE SQLSA FROM:lsSQL;
OPEN DYNAMIC cursor_base USING:lsFilter;
FETCH cursor_base INTO:lsCode
DO WHILE SQLCA
LOOP
CLOSE cursor_base;
[
From:http://tw.wingwit.com/Article/program/PB/201311/24649.html