[英]Missing expression Oracle Query
我有一個oracle觸發器,它返回錯誤
附加信息:ORA-00936:缺少表達式
在我的TOAD中,它顯示了下面的行。
EXECUTE IMMEDIATE 'UPDATE TBL_NEWS_TYPE SET FULLNAME='|| newsName ||' WHERE ID = SELECT MAX(ID) FROM TBL_NEWS_TYPE)';
這里的newsName是varchar2變量,例如newsName VARCHAR2(50)/和INTEGER中的ID。
嘗試這個:
EXECUTE IMMEDIATE 'UPDATE TBL_NEWS_TYPE
SET FULLNAME='''|| newsName
||''' WHERE ID = (SELECT MAX(ID) FROM TBL_NEWS_TYPE)'
我認為您在這里遇到兩個問題:
1)您在選擇開始時缺少'('
2)我認為如果不使用引號將新名稱包裹起來,這將是無效的,因為它是一個字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.