1,動態sql語句 格式1
直接執行sql宣告(sqlstatement)
例程:string mysql
mysql = "create table employee "&
+"(emp_id integer not null,"&
+"dept_id integer not null, "&
+"emp_fname char(10) not null, "&
+"emp_lname char(20) not null)"
execute immediate :mysql ;
2.動態sql語句 格式2
準備sql宣告(sqlsa)
執行sql宣告(sqlsa)
例程:int emp_id_var = 56
prepare sqlsa
from "delete from employee where emp_id=?" ;
execute sqlsa using :emp_id_var ;
3.動態sql語句 格式3
為動態傳輸區 宣告 游標|程序 動態游標|程序
根據sql宣告(sqlca)準備動態傳輸區
開啟動態游標
取出游標程序值
關閉游標
例程:integer emp_id_var
declare my_cursor dynamic cursor for sqlsa ;
prepare sqlsa from "select emp_id from employee" ;
open dynamic my_cursor ;
fetch my_cursor into :emp_id_var ;
close my_cursor ;
4.動態sql 格式4
為動態傳輸區 宣告 游標|程序 動態游標|程序
根據sql宣告(sqlca)準備動態傳輸區
寫入動態描述區
開啟動態游標
取出游標程序值
關閉游標
例程:string stringvar, sqlstatement
integer intvar
sqlstatement = "select emp_id from employee"
prepare sqlsa from :sqlstatement ;
describe sqlsa into sqlda ;
declare my_cursor dynamic cursor for sqlsa ;
open dynamic my_cursor using descriptor sqlda ;
fetch my_cursor using descriptor sqlda ;
// if the fetch is successful, the output
// descriptor array will contain returned
// values from the first row of the result set.
// sqlda.numoutputs contains the number of
// output descriptors.
// the sqlda.outparmtype array will contain
// numoutput entries and each entry will contain
// an value of the enumerated data type parmtype
// (such as typeinteger!, or typestring!).
choose case sqlda.outparmtype[1]
case typestring!
stringvar = getdynamicstring(sqlda, 1)
case typeinteger!
intvar = getdynamicnumber(sqlda, 1)
end choose
close my_cursor ;
動態SQL四種型別的語句格式
1.dynamic sql format 1 execute immediate sqlstatement eg string mysql mysql create table employee emp id integer not null,dept id integer not null,emp...
SQL的四種匹配模式
sql提供了四種匹配模式 表示模糊匹配0或多個字元,如以下查詢語句 select from user where name like 三 這個語句將會把name中帶有 三 的資訊全部查詢出來 select from user where name like 三 這個語句將會把name中最右邊帶有 三...
SQL 的四種分類 DDL,DML,DCL,TCL
ddl 資料定義問題 資料定義語言 data definition language 用來定義資料庫的物件,如資料表 檢視 索引等 ddl不需要commit.create alter drop truncate comment rename dml 資料操縱問題 資料處理語言 data manipu...