Wenn ich unten Abfrage ausführen, dann bekomme ich ungültiges Zeichen.Abfrage gibt ungültiges Zeichen (ORA-00911: ungültiges Zeichen) Problem
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;
Bitte helfen Sie mir zu diesem Thema.
Vielen Dank für Ihre Hilfe.
Ich verwende Oracle 11.2.0.4.0 Version.
Möglicherweise erhalten Sie mehrere Zeilen in for-Schleife auswählen? Wenn ja, müssen Sie jedes Mal "Löschen von" anhängen. – Mikhail
Entfernen Sie das Semikolon vom Ende Ihrer 'sql_query' Zeichenfolge. Das ist das unmittelbare Problem. Aber Sie müssen auch den ganzen Befehl in jeder Schleife neu starten, wie Mikhail gezeigt hat. –
Vielen Dank für Ihre Antwort. Ich habe Mikhail Option versucht, aber immer noch das gleiche Problem wie ungültige Zeichen. Vielen Dank für deine Hilfe. – Sunitha