Execute Immediate Not Working With WHERE CURRENT OF

From: <rhythmram_at_gmail.com>
Date: 21 Dec 2005 10:28:54 -0800
Message-ID: <1135189734.619840.287330_at_g44g2000cwa.googlegroups.com>



[Quoted] Hi Gurus,

[Quoted]    Question regarding execute immediate. Following code is not working CREATE OR REPLACE FUNCTION Udf_Test (

   strTech IN VARCHAR2
)

   RETURN PLS_INTEGER
IS

  • VARIABLES TO STORE INPUT PARAMETERS in_DID VARCHAR2 (18 BYTE);
  • LOCAL VARIABLES intRowCount PLS_INTEGER; intErrorCount PLS_INTEGER; strUNID VARCHAR2 (24); strTableName VARCHAR (20);

   CURSOR c1 IS

   		  SELECT SUBSEC
          FROM TESTTABLE

   FOR UPDATE OF SUBSEC; BEGIN
  • ASSIGNING INPUT PARAMETES TO THE LOCAL VARIABLES in_DID := UPPER (strTech); strTableName := 'TESTTABLE';
  • LOCAL VARIABLE INITIALIZATION intRowCount := 0; intErrorCount := 0;

   FOR c1_rec IN c1 LOOP

          EXECUTE IMMEDIATE ' UPDATE TESTTABLE SET SUBSEC = ' || strTech || ' WHERE CURRENT OF c1';

   END LOOP;    RETURN intErrorCount;
EXCEPTION
   WHEN OTHERS
   THEN

      ROLLBACK;
      intErrorCount := intErrorCount + 1;

         DBMS_OUTPUT.PUT_LINE (DBMS_UTILITY.FORMAT_ERROR_STACK);
         DBMS_OUTPUT.PUT_LINE (DBMS_UTILITY.FORMAT_CALL_STACK);

      RETURN intErrorCount;

END; getting error at "EXECUTE IMMEDIATE ' UPDATE TESTTABLE SET SUBSEC = ' || strTech || ' WHERE CURRENT OF c1';"

ORA-03001: unimplemented feature

any idea gurus Received on Wed Dec 21 2005 - 19:28:54 CET

Original text of this message