ORA-00942: table or view does not exist
17/12/2010
0
Pessoal bom dia.
Estou montando uma procedure e está aparecendo o erro ORA-00942: table or view does not exist. O erro é nas linhas onde realiza o insert
INSERT INTO TB_AJUSTA_PARAMETRO VALUE ( SELECT * FROM V$PARAMETER );
INSERT INTO TB_AJUSTA_INSTANCIA VALUE ( SELECT * FROM V$INSTANCE );
INSERT INTO TB_AJUSTA_HIST_ACTIVE VALUE ( SELECT * FROM DBA_HIST_ACTIVE_SESS_HISTORY ); .
Agora se eu executar qualquer um dos insert fora da procedure, irá funcionar perfeitamente.
Se alguém puder me ajudar ficarei muito agradecido.
Estou montando uma procedure e está aparecendo o erro ORA-00942: table or view does not exist. O erro é nas linhas onde realiza o insert
INSERT INTO TB_AJUSTA_PARAMETRO VALUE ( SELECT * FROM V$PARAMETER );
INSERT INTO TB_AJUSTA_INSTANCIA VALUE ( SELECT * FROM V$INSTANCE );
INSERT INTO TB_AJUSTA_HIST_ACTIVE VALUE ( SELECT * FROM DBA_HIST_ACTIVE_SESS_HISTORY ); .
Agora se eu executar qualquer um dos insert fora da procedure, irá funcionar perfeitamente.
Se alguém puder me ajudar ficarei muito agradecido.
create or replace PROCEDURE SP_AJUSTA_PARAMETROS (P_RETORNO VARCHAR2) IS V_HOUR VARCHAR2(10); V_STATE VARCHAR2(10); V_COUNT VARCHAR2(100); BEGIN INSERT INTO TB_AJUSTA_PARAMETRO VALUE ( SELECT * FROM V$PARAMETER ); INSERT INTO TB_AJUSTA_INSTANCIA VALUE ( SELECT * FROM V$INSTANCE ); INSERT INTO TB_AJUSTA_HIST_ACTIVE VALUE ( SELECT * FROM DBA_HIST_ACTIVE_SESS_HISTORY ); FOR R_HIST IN ( SELECT TO_CHAR(TRUNC((SAMPLE_TIME), 'HH'), 'HH24:MI') AS "HOUR", STATE, COUNT(*)/360 AS "COUNT" FROM ( SELECT SAMPLE_TIME, SAMPLE_ID, CASE WHEN SESSION_STATE = 'ON CPU' THEN 'CPU' WHEN SESSION_STATE = 'WAITING' AND WAIT_CLASS IN('User I/O') THEN 'IO' WHEN SESSION_STATE = 'WAITING' AND WAIT_CLASS IN('Cluster') THEN 'CLUSTER' ELSE 'WAIT' END STATE FROM TB_AJUSTA_HIST_ACTIVE WHERE SESSION_TYPE IN('FOREGROUND') AND SAMPLE_TIME BETWEEN TRUNC(SYSDATE, 'HH') -25/24 AND TRUNC(SYSDATE, 'HH') -1/24 ) GROUP BY TRUNC((SAMPLE_TIME), 'HH'), STATE ORDER BY TRUNC((SAMPLE_TIME), 'HH') ) LOOP V_HOUR := R_HIST."HOUR"; V_STATE := R_HIST.STATE; V_COUNT := R_HIST."COUNT"; END LOOP; COMMIT; EXCEPTION WHEN OTHERS THEN NULL; END;
Hudson Campos
Curtir tópico
+ 0
Responder
Posts
21/02/2011
Volnei Volff
Olá.
Verifica se o owner da tabela é o mesmo que tu executa a procedure e não esquece de commitar o insert.
Se mesmo assim não der responde aí.
Abraço.
Verifica se o owner da tabela é o mesmo que tu executa a procedure e não esquece de commitar o insert.
Se mesmo assim não der responde aí.
Abraço.
Responder
Clique aqui para fazer login e interagir na Comunidade :)