如果我执行下面的查询,那么我得到无效字符。查询是无效字符(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