如果我執行下面的查詢,那麼我得到無效字符。查詢是無效字符(ORA-00911:無效字符)問題
declare
sql_query varchar2(4000):='delete from ';
begin
for i in (
select table_name,column_name from User_tab_cols where column_name like '%PROFILE_ID' and table_name not like 'GSC%' and table_name not like '%BKP%' order by 1)
loop
sql_query :=sql_query ||i.table_name;
sql_query:=sql_query || ' where '||i.column_name ||' = ' ||32052721 ||';';
execute immediate sql_query;
commit;
end loop;
end;
請幫我解決這個問題。
非常感謝您的幫助。
我正在使用Oracle 11.2.0.4.0版本。
可能您在循環選擇中接收到多行?如果是這樣,您需要每次追加'刪除'。 – Mikhail
從'sql_query'字符串的末尾刪除分號。這是直接的問題。但是你也需要在每個循環中重新開始整個命令,就像Mikhail所表明的那樣。 –
非常感謝您的回覆。我已經嘗試過米哈伊爾選項,但仍然遇到像無效字符一樣的問題。非常感謝您的幫助。 – Sunitha