[英]SQL Insert Statement causing error in Oracle
我正在嘗試這樣做
INSERT INTO INSPECTIONOFFICE (INSPOFFICE_ID, INSPOFFICE_NAME, INSPOFFICE_STREET, INSPOFFICE_CITY, INSPOFFICE_STATE, INSPOFFICE_ZIPCODE, INSPOFFICE_CONTPERSONFNAME, INSPOFFICE_CONTPERSONLNAME, INSPOFFICE_CONTPERSONPHONE, INSPOFFICE_CONTPERSONEMAIL)
VALUES (12, 'InspectionOffice1', '121 Ames st', 'Omaha', 'NE', 68128, 'Brad', 'Foley', '4022853487', 'BradFoley@gmail.com');
但我收到一個錯誤
從第 22 行開始的錯誤 -
INSERT INTO INSPECTIONOFFICE(INSPOFFICE_ID、INSPOFFICE_NAME、INSPOFFICE_STREET、INSPOFFICE_CITY、INSPOFFICE_STATE、INSPOFFICE_ZIPCODE、INSPOFFICE_CONTPERSONFNAME、INSPOFFICE_CONTPERSONLNAME、INSPOFFICE_CONTPERSONPHONE、INSPOFFICE_CONTPERSONPHONE)
值 (12, 'InspectionOffice1', '121 Ames st', 'Omaha', 'NE', 68128, 'Brad', 'Foley', '4022853487', 'BradFoley@gmail.com')
命令行錯誤:22 列:13
錯誤報告 -
SQL 錯誤:ORA-04098:觸發器“JMEEK.INSPECTIONOFFICE_INSPECTIONOFF”無效且重新驗證失敗
04098. 00000 - “觸發器 '%s.%s' 無效,重新驗證失敗”
*原因:嘗試檢索觸發器以執行,但發現無效。 這也意味着觸發器的編譯/授權失敗。
*操作:選項用於解決編譯/授權錯誤、禁用觸發器或刪除觸發器。
知道如何解決這個問題嗎?
似乎您無權訪問觸發器 JMEEK.INSPECTIONOFFICE_INSPECTIONOFF
或者有一些編譯問題...
你應該看看觸發器。
或者,如果您不知道什么是觸發器,請致電有經驗的工作的隊友。 :)
順便說一句,如果你是一個人,也沒關系..你可以禁用/刪除觸發器..
此命令禁用,您可以稍后啟用
ALTER TRIGGER JMEEK.INSPECTIONOFFICE_INSPECTIONOFF DISABLE;
此命令刪除觸發器,您將永遠失去它(如果您沒有備份)
drop trigger JMEEK.INSPECTIONOFFICE_INSPECTIONOFF;
觸發器JMEEK.INSPECTIONOFFICE_INSPECTIONOFF
,我猜是你寫的,因為它在JMEEK
模式中,(我再次猜測)似乎是你的,是無效的,這意味着它有編譯錯誤。 要找出這些錯誤是什么,您應該執行查詢
SELECT *
FROM ALL_ERRORS
WHERE OWNER = 'JMEEK' AND
NAME = 'INSPECTIONOFFICE_INSPECTIONOFF'
ORDER BY SEQUENCE
我們沒有人能為您做太多其他事情,因為我們不知道這個觸發器是什么樣子。 如果需要查看源代碼,可以執行以下查詢:
SELECT LINE, TEXT
FROM ALL_SOURCE
WHERE OWNER = 'JMEEK' AND
NAME = 'INSPECTIONOFFICE_INSPECTIONOFF'
ORDER BY LINE
或者,您可以使用 IDE,例如 Oracle 的免費 SQL Developer 產品,這將使您更輕松地完成所有這些工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.