動態sql程式設計語句的四種格式

2021-06-19 22:07:44 字數 2047 閱讀 7845

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...