oracle資料庫拼接sql語句字串問題

2021-08-03 17:47:21 字數 862 閱讀 4790

近日遇到乙個問題,在使用儲存過程拼接動態語句時,傳輸引數一直提示無效識別符號,研究發現拼接sql語句的時候,作為字串引數的變數要加' ',具體**如下:

declare

vc_sql varchar2(20000);

v_table varchar2(200) ;

v_status number;

v_opinion varchar2(500);

v_proid number;

v_deptid number;

begin

v_table := '';

v_status := '';

v_opinion := '';

v_proid := '';

v_deptid := '';

if v_dept_id is null then

vc_sql := 'update '||v_table || ' set status='||v_status ||',opinion='''||nvl(v_opinion,'') || '''where proj_id=' || v_proid ;

else

vc_sql := 'update '||v_table || ' set status='||v_status ||',opinion='''||nvl(v_opinion,'') || '''where proj_id=' || v_proid || ' and dept_id=' || v_deptid ;

end if;

execute immediate vc_sql;

end;

表現就是''單引號的轉義,相當於''代表乙個'

監聽 監測oracle資料庫執行的SQL語句

select a.sid,a.serial a.status,a.username,哪個使用者執行的sql d.spid 程序號,b.sql text sql內容,a.machine 計算機名稱,a.module 執行方式,to char cast c.sofar totalwork 100 as ...

phpsql拼接 PHP拼接多條件SQL語句

判斷是否新增where語句 param sql param has where return string sql has where and where return sql 檢索資料 param params return activedataprovider public function s...

Oracle資料庫中 in與exists語句的區別

一 in的理解 如sql select from t1 where x in select y from t2 中,先執行select y from t2,等價於select from t1,select distinct y from t2 t2 wheret1.x t2.y。可以理解為 先進行子...