Saber todas as triggers com erro de compilação [RESOLVIDO]

Bom dia…

Queria saber se há alguma forma de saber TODAS as triggers que estão com erro de compilação no banco de dados Oracle.

Sei que utilizando o comando show errors trigger_name consigo saber onde está o erro de compilação de UMA trigger.

Porém preciso saber TODAS as triggers que estão com erro.

Agradeço desde já a atenção.

Abraço!

Bom, isso já é uma questão específica de Oracle, não tem nada a ver com Java básico.

Tente um forum mais especializado:
http://forums.oracle.com/forums/main.jspa?categoryID=84

Obrigado pela dica.

Abraço!

Olá!

Basta consultar o dicionário de dados e ver quais objetos estão com status INVÁLIDO:

SELECT *
FROM DBA_OBJECTS
WHERE OBJECT_TYPE = 'TRIGGER'
      AND STATUS = 'INVALID';

Com DBA_OBJECTS você consegue pegar todos os objetos do database, caso precise especificar o shema basta colocar OWNER no select acima, caso não tenha a ROLE DBA atribuída ao seu usuário pode tentar com a ALL_OBJECTS que pega todos os objetos acessíveis ao usuário logado e tem ainda a USER_OBJECTS que mostra somente os objetos do usuário logado, e por isso este ultimo não tem a coluna OWNER.

Até

Beleza Granella…

Mas antes de eu ver o teu post, criei uma instrução PL/SQL para isto.

Tinha quase certeza que havia uma forma mais simples, porém não havia encontrado.

Então fiz o seguinte:

					set serveroutput on

					begin
						declare
						cursor			lc_user_trigger
						is
						--
						-- Carrega todas as triggers.
						--
						select			*
							from		USER_TRIGGERS
							order by	Trigger_Name
						;
						ls_trigger_error	varchar2(100);

						begin
							--
							-- Percorre cada trigger...
							--
							for	lc_ut			in	lc_user_trigger
							loop
								begin
									--
									-- Verifica se a trigger está com erro de compilação.
									--
									execute immediate 'alter trigger '||lc_ut.Trigger_Name||' compile';

								exception
									when	OTHERS
									then
										ls_trigger_error	:=	chr(10)||ls_trigger_error||lc_ut.Trigger_Name||chr(10);
								end;
							end loop;
							DBMS_OUTPUT.put_line('Triggers com erro: '||ls_trigger_error);
						end;
					 end;

Assim ele me retornou corretamente as triggers com erro de compilação.
Porém acredito que este select é muito mais simples do que isto que fiz… rsrsrsrsrsrsrsrs
Mas não custa nada treinar um pouco de PL/SQL.

Obrigado pela ajuda.

Até mais.

Abraço!