儲存過程中拼接的變數和點的問題

2022-03-08 23:35:06 字數 1510 閱讀 9136

儲存過程中的變數:

以   ''|| 變數名 ||'' 的形式。

點的解釋:

乙個點' 表示是字串。

兩個點''連線變數,之後再加乙個點',最後編譯成『變數值』。

儲存過程**:

舉個正確的例子:

錯誤的例子:

會報 : 資料庫錯誤ora-00923 未找到要求的 from 關鍵字

另外乙個儲存過程的拼接例子:

這個例子的體現了逗號怎麼拼接上。

str_sql := '

merge into t_xs_trade t1

' || chr(10) ||

'using (select tid from t_xs_trade where tid =

'''|| prm_tid ||'''

) t2

' || chr(10) ||

'on (t1.tid = t2.tid)

' || chr(10) ||

'when matched then

'|| chr(10) ||

'update set

'|| chr(10) ||

't1.shop_name =

'''|| prm_shop_name ||'''

,'|| chr(10) ||

't1.urgent_task_name =

'''|| prm_urgent_task_name ||'''' || chr(10) ||

'when not matched then

'|| chr(10) ||

'insert(

'|| chr(10) ||

'tid,

'|| chr(10) ||

'urgent_task_name

'|| chr(10) ||

') '|| chr(10) ||

'values(

'|| chr(10) ||

''''|| prm_tid ||'''

,'|| chr(10) ||

'''' || prm_urgent_task_name ||''''|| chr(10) ||

') '

;

out_error_row :=2;--錯誤行

--返回id

prm_thradenumber :=prm_tid;

execute immediate str_sql;

儲存過程中的變數定義

as we all know,mysql的儲存過程就類似於指令碼,既然似指令碼就會有使用到變數的時候。mysql儲存過程常見的變數 區域性變數 使用者變數 系統變數 一 區域性變數 在過程體中,可以宣告區域性變數,用來臨時儲存一些值。1 定義區域性變數語法 declare var name var ...

mysql儲存過程中模糊查詢語句拼接問題

set stmt concat select from jargon where name like ucase t or memo like ucase t order by id desc limit snum,size prepare stmt from stmt execute stmt d...

儲存過程中拼接字串

1.將查詢資料插入臨時表 最開始我這麼寫的 declare sql varchar max set sql select into tmp from tb exec sql select from tmp 報錯物件名 tmp 無效 可以改成這樣子 create table tmp declare s...