『壹』 觸發器中刪除資料庫中的表
你可以試一下
CREATE TRIGGER CRITRIA_DEL ON dbo.DSS_Criteria FOR DELETE
AS
declare @CriteriaID int, @CriteriaName varchar(50)
select @CriteriaID=deleted.CriteriaID,@CriteriaName=deleted.CriteriaName from deleted
IF Exists(Select * From sysObjects Where Name =@CriteriaName And Type In ('S','U'))
BEGIN
EXEC('DROP TABLE '+@CriterriaName)
END
『貳』 oracle觸發器中,怎麼刪除觸發的那條數據
此種處理方式無法實現
1,經測試在A觸發器中,滿足條件,寫入B表,再刪除A,刪除的這個操作不能進行。
2,換個思路,在A添加觸發器,滿足條件,寫入B,在B表上也添加觸發器,滿足條件,刪除A,同樣無法進行。
換個處理方式:
寫入A,滿足條件,再寫入B, 再刪除A, 那麼寫入A的時候就是個多餘的動作。
最好的處理方式,不符合條件的寫入A,符合條件的直接寫入B
『叄』 oracle資料庫,寫一個觸發器,刪除主表信息,同時刪除從表信息
--設定主表:TA(itemnumber,addrvarchar2(100),phonevarchar2(12))
--從表:TB(itemnumber,namevarchar2(20),moneynumber(12,2))
--主鍵為item
CREATEORREPLACETRIGGERTR_DB_TA
BEFOREDELETE
ONTA
REFERENCINGNEWASNewOLDASOld
FOREACHROW
DECLARE
BEGIN
deleteTBwhereitem=:OLD.item;
EXCEPTION
WHENOTHERSTHEN
RAISE;
ENDTR_DB_TA;
/