2013-07-15 42 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%肯定的,但這裏有一個猜測...... User_Triggers視圖中的狀態欄顯示爲「ENABLED」或「DISABLED」,因此不是唯一的。在'User_Objects'視圖中,'TRIGGER'類型的'Status'是'VALID'或'INVALID',所以這可能是唯一的。試試這個:'SELECT Status FROM FROM User_Objects WHERE Object_Name ='your-trigger-name'AND Object_Type ='TRIGGER''。 –