Bonjour,
Je souhaiterais désactiver un trigger sur certaines bases. Cependant, sur certaines d'entre elle, ce trigger n'existe. Je veux donc n'exécuter l'alter trigger que s'il existe.
J'ai tester le script suivant mais il ne passe pas :
ORA-06550: Ligne 6, colonne 4 :
PLS-00103: Symbole "ALTER" rencontré à la place d'un des symboles suivants :...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
declare A VARCHAR2(20);
begin
	 select rownum object_name into A from dba_objects where object_name='TRG_TTT'and rownum = 1;
	 if A='TRG_TTT' then
	 begin
	 	ALTER TRIGGER TRG_TTT DISABLE;
         end if;
end;
Quelqu'un a-t-il une idée pour résoudre ce problème ?
et produire l'équivalent du script SQL Server suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
if Exists(select * from dbo.sysobjects where id = object_id(N'[dbo].[TRG_TTT]') and OBJECTPROPERTY(id, N'IsTrigger') = 1)
ALTER TABLE TTT DISABLE TRIGGER TRG_TTT;