2013-07-15 3 views
1

У меня есть недействительный триггер ORACLE.Как скомпилировать триггер ORACLE

Как скомпилировать его с помощью SQL * PLUS?

Как я могу видеть статус с помощью SQL * PLUS?

+0

Что именно означает недействительное средство в вашем понимании? – mnagel

+0

Если все остальное не удается, прочитайте инструкции: http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/alter_trigger.htm#LNPLS99996 –

+0

Это TOAD, используя этот термин. В этом случае его последовательность, используемая триггером, отсутствует, если вы устанавливаете последовательность, триггер по-прежнему недействителен, он должен быть перекомпилирован. – user1987442

ответ

4

Вы можете перекомпилировать с помощью ALTER TRIGGER:

ALTER TRIGGER myTrigger COMPILE 

Если SQLPlus сообщает Trigger compiled with errors (или нечто подобное), просто введите SHOW ERRORS для получения дополнительной информации.

+0

О втором пункте я искал отдельную инструкцию SQL * PLUS, которую я могу отправить. – user1987442

+1

Я не уверен на 100%, но вот догадка ... Столбец 'Status' в представлении' User_Triggers' выглядит как 'ENABLED' или' DISABLED', так что это не тот. В представлении 'User_Objects'' Status' для типа 'TRIGGER'' VALID' или 'INVALID', так что, вероятно, это один. Попробуйте это: 'SELECT Status FROM User_Objects WHERE Object_Name = 'your-trigger-name' AND Object_Type = 'TRIGGER''. –

Смежные вопросы