Ich versuche, Tabellennamen und Spaltennamen an eine gespeicherte Prozedur in Oracle passieren, aber es gibt mir folgende Fehlermeldung: table or view does not exist
Passing Tabellennamen und Spaltennamen dynamisch auf PL/SQL Stored Procedure
Unten ist der Code:
create or replace procedure jz_dynamic_sql_statement
(p_table_name in varchar2,
p_col1_name in varchar2,
p_check_result out integer)
as
v_error_cd est_runtime_error_log.error_cd%type;
v_error_msg est_runtime_error_log.error_msg%type;
v_sql varchar2(1024);
v_result number(10);
begin
v_result := 0;
v_sql := 'select count(*) from ' || p_table_name ||' WHERE COLUMNNAME=' || p_col1_name;
execute immediate v_sql into v_result;
p_check_result := v_result;
end;
Was dies ist verwirrend? Die Tabelle existiert nicht. –
Ich meine, ich habe den Tisch schon. – akaminko
Die where-Klausel macht keinen Sinn, wenn Sie nicht versucht haben, Ihre DB-Spaltennamen auf dem Post zu verschleiern. – Andrew