CREATE TABLE TEST_CASE
(
ID NUMBER(19,2),
CURRENCY_TYPE VARCHAR2(30),
PAIDAMT NUMBER(19,2),
RECVDAMT NUMBER(19,2),
AMTDUE NUMBER,
TRANSACTION_DATE VARCHAR2(30)
);
J'ai créé une procédure pour récupérer les champs qui ont AMT en leur nom. Mais la procédure montre une erreur lors de l'exécution, je n'arrive pas à comprendre pourquoi cette erreur génère.problème avec le curseur dans la procédure
create or replace procedure chk_amt
(
vtbl varchar2
)
as
tblcursor sys_refcursor;
tblsqlstr varchar2(1000);
importedrows VARCHAR2(1000);
BEGIN
tblsqlstr := 'Select COLUMN_NAME from user_tab_columns where table_name= '|| vtbl ||' and COLUMN_NAME like upper(''%AMT%'')' ;
OPEN tblcursor for tblsqlstr;
loop
fetch tblcursor into importedrows;
DBMS_OUTPUT.PUT_LINE(importedrows);
EXIT WHEN tblcursor%NOTFOUND;
end loop;
CLOSE tblcursor;
end;
/
erreur
est
ORA-00904: "TEST_CASE": invalid identifier
ORA-06512: at "***.CHK_AMT", line 11
ORA-06512: at line 2
Comment puis-je résoudre cette erreur ??