sql >> Database >  >> RDS >> Oracle

SQL-triggerfout - ongeldige trigger

U kunt show errors gebruiken nadat je compiled with warnings . ziet , of zoek de user_errors bekijken om later te zien wat er mis is.

Een voor de hand liggend ding is dat je de old . niet hebt voorafgegaan verwijzing met een dubbele punt:

CREATE or REPLACE TRIGGER BeforeUpdateReport 
BEFORE 
UPDATE ON REPORT 
FOR EACH ROW 
Begin 
   INSERT INTO reportUpdate 
   Values(:old.ID,sysdate); 
END;
/

Het is ook beter om de doeltabelvelden op te geven in de insert verklaring:

   INSERT INTO reportUpdate (report_id, updatedate)
   Values(:old.ID,sysdate); 

Maar je hebt update_date gedefinieerd in uw script voor het maken van tabellen als number(32) , wat geen zin heeft. Zoals @realspirituals opmerkte, zou het moeten zijn:

CREATE TABLE reportUpdate (report_id number, updatedate date);



  1. Wordt MySQL LIMIT toegepast voor of na ORDER BY?

  2. Waarom krijg ik deze foutmigratiegegevens van SQL Lite naar Posgres DB? dubbele sleutelwaarde schendt unieke beperking

  3. tsvector ondersteunt alleen Engels?

  4. Controleer of PHP is gecompileerd --with-mysql