Question : Problem with EXECUTE IMMEDIATE statement

Greetings,

I am getting my rear end kicked by PL SQL cos I can't get a simple EXECUTE IMMEDIATE STATEMENT TO Work.

Can anyone help?


When it runs I get an error message:

ORA-00900: invalid SQL statement
ORA-06512: at "ATLAS.SPFILLPPLICITACAO_TESTE", line 7
ORA-06512: at line 2
Code Snippet:
1:
2:
3:
4:
5:
6:
7:
8:
9:
CREATE OR REPLACE
PROCEDURE SPFILLPPLICITACAO_TESTE 
IS
  cdSQL  VARCHAR2(4000);
  
BEGIN
            cdSQL := 'DBMS_OUTPUT.PUT_LINE(1000)';
            EXECUTE IMMEDIATE cdSQL;
END; -- Procedure
Open in New Window Select All

Answer : Problem with EXECUTE IMMEDIATE statement

try this...
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
CREATE OR REPLACE PROCEDURE spfillpplicitacao
IS
    vnrnrlicitacao           pplicitacao.nrlicitacao%TYPE;
    vdtdtano                 pplicitacao.dtano%TYPE;
    vidunidadegestora        pplicitacao.idunidadegestora%TYPE;
    vididmodalidadelicitacao pplicitacao.idmodalidadelicitacao%TYPE;
    vststinciso              pplicitacao.stinciso%TYPE;
    vdtdtpublicacao          pplicitacao.dtpublicacao%TYPE;
    vididatividadelicitacao  pplicitacao.idatividadelicitacao%TYPE;
    vststobjeto              pplicitacao.stobjeto%TYPE;
    vststnumeroprocesso      pplicitacao.stnumeroprocesso%TYPE;
    vdtdtprocesso            pplicitacao.dtprocesso%TYPE;
    vididfundamentolegal     pplicitacao.idfundamentolegal%TYPE;
    vstflstatus              pplicitacao.flstatus%TYPE;
 
    cdsql                    VARCHAR2(4000);
 
    CURSOR clicitacoes
    IS
        SELECT t.nrlicitacao,
               TO_DATE(t.anolicit, 'YYYY'),
               g.idunidadegestora,
               t.idmodalidadelicitacao,
               t.stinciso,
               t.publicacaolicit,
               t.idatividadelicitacao,
               t.stobjeto,
               t.stnumeroprocesso,
               t.dtprocesso,
               f.idfundamentolegal,
               t.flstatus
        FROM   tabelamigracao t, axunidadegestora g, axfundamentolegal f
        WHERE  t.codigouglicit = g.stcodigo AND t.fundamentolegal LIKE f.stfundamento;
BEGIN
    OPEN clicitacoes;
 
    LOOP
        FETCH clicitacoes
            INTO
                     vnrnrlicitacao, vdtdtano, vidunidadegestora, vididmodalidadelicitacao, vststinciso, vdtdtpublicacao, vididatividadelicitacao, vststobjeto, vststnumeroprocesso, vdtdtprocesso, vididfundamentolegal, vstflstatus;
 
        IF clicitacoes%NOTFOUND
        THEN
            EXIT;
        ELSE
            INSERT INTO pplicitacao(
                                        idlicitacao,
                                        nrlicitacao,
                                        dtano,
                                        idunidadegestora,
                                        idmodalidadelicitacao,
                                        stinciso,
                                        dtpublicacao,
                                        idatividadelicitacao,
                                        stobjeto,
                                        stnumeroprocesso,
                                        dtprocesso,
                                        idfundamentolegal,
                                        flstatus
                       )
            VALUES     (
                            sqidlicitacao.NEXTVAL,
                            vnrnrlicitacao,
                            vdtdtano,
                            vidunidadegestora,
                            vididmodalidadelicitacao,
                            NULL,
                            NULL,
                            NULL,
                            NULL,
                            NULL,
                            NULL,
                            NULL,
                            NULL
                       );
        END IF;
    END LOOP;
 
    CLOSE clicitacoes;
END;                                                                                    -- Procedure
Open in New Window Select All
Random Solutions  
 
programming4us programming4us