本文介紹了在PowerBuilder中使用動態(tài)SQL語句的4種方式。
PowerBuilder是目前最流行的數(shù)據(jù)庫開發(fā)工具之一。PowerBuilder提供了在程序代碼中加入嵌入式SQL語句的功能來支持對數(shù)據(jù)庫的訪問。但這種嵌入式SQL語句只能支持一些固定的標準的SQL語句,即在進行程序代碼編譯處理時這些SQL語句必須是確定的,例如:對哪張表哪幾個字段進行操作在程序代碼中是固定寫明的,另外這種方式也不能執(zhí)行像Creat Table,Creat Database等這些數(shù)據(jù)庫定義的語句(DDL)。
因此這種嵌入式SQL語句在實際應用中有一定的局限性。為克服這種方式的局限性,可以使用PowerBuilder提供的動態(tài)SQL語句,這種對數(shù)據(jù)庫訪問的方式可以完成嵌入式SQL語句無法實現(xiàn)的功能。如建庫、建表這一類的數(shù)據(jù)庫定義語句(DDL);其次,由于動態(tài)SQL語句允許在執(zhí)行時才確定到底要執(zhí)行怎樣的SQL語句,因此使用動態(tài)SQL語句可以使程序實現(xiàn)參數(shù)化設計,具有很大的靈活性和通用性。
一、動態(tài)SQL語句的應用分析 PowerBuilder提供了四種格式的動態(tài)SQL語句,每種格式都有自己不同的特點和作用。下面我們對各種格式的具體使用方法分別加以說明。
(一)第一種格式
當執(zhí)行沒有輸入?yún)?shù)并且沒有返回結果集的SQL語句時可以使用這種格式,這種格式使用比較簡單,其實現(xiàn)的操作也比較少。
(1)語法
EXECUTE IMMEDIATE SQLStatement{USING TransactionObject};
其中SQLStatement是要執(zhí)行的SQL語句,可以直接用引號將要執(zhí)行的SQL引起來用,或者用字符串變量的形式提供SQL語句。通過使用字符串變量可以在具體執(zhí)行的時候才指定要執(zhí)行什么樣的SQL語句。TransactionObject是用戶所使用的事務對象,缺省為SQLCA。
(2)應用實例
①建立一張數(shù)據(jù)庫表(base),SQL語句的表述用引號引起來直接使用。
EXECUTE IMMEDIATE‘CREATE TABLE base(code char(6),name char(30))’USING SQLCA;
②執(zhí)行對數(shù)據(jù)庫記錄的操作,在表base中插入一條記錄,SQL語句通過字符串變量傳遞執(zhí)行語句。
STRING lsSQL
LsSQL=”INSERT INTO TABLE base VALUES(’320201’,’市中區(qū)支行’)”
EXECUTE IMMEDIATE:lsSQL;
新聞熱點
疑難解答