如何建立觸發器insert update delete

時間 2022-09-25 23:21:05

1樓:匿名使用者

觸發器觸發的條件有 insert,update,delete ,我想要乙個例子 在乙個表建立一create trigger tr_a on a for insert,update,delere as begin if exists

2樓:爾偶一下

create trigger tr_a

on a

for insert,update,delere as

begin

if exists(select 1 from inserted) and not exists(select 1 from deleted)

begin

-- 插入觸發.

insert into b

select

inserted.a

from

inserted;

end;

if exists(select 1 from inserted) and exists(select 1 from deleted)

begin

-- 更新觸發.

delete from b where a in ( select a from deleted);

insert into b

select

inserted.a

from

inserted;

end;

if not exists(select 1 from inserted) and exists(select 1 from deleted)

begin

-- 刪除觸發

delete from b where a in ( select a from deleted);

end;end

3樓:豐潤毛小子

還是找乙個軟體高手給指點一下吧.

在sql server觸發器中判斷操作是insert還是update還是delete

4樓:

declare

@isinsert bit,

@isupdate bit,

@isdelete bit

if exists(select 1 from inserted) and not exists(select 1 from deleted)

set @isinsert = 1

else

set @isinsert = 0

if exists(select 1 from inserted) and exists(select 1 from deleted)

set @isupdate = 1

else

set @isupdate = 0

if not exists(select 1 from inserted) and exists(select 1 from deleted)

set @isdelete = 1

else

set @isdelete = 0

create trigger update_del on table

for update,delete

as if not exists(select 1 from inserted)

begin /*inserted表無記錄,是刪除*/

endelse

begin /*是更新*/ end

go關鍵在於inserted表

觸發器語句中使用了兩種特殊的表:deleted

表和 inserted 表。

deleted

表用於儲存 delete 和 update 語句所影響的行的複本。在執行 delete 或 update 語句時,行從觸發器表中刪除,並傳輸到 deleted

表中。deleted 表和觸發器表通常沒有相同的行。

inserted

表用於儲存 insert 和 update 語句所影響的行的副本。在乙個插入或更新事務處理中,新建行被同時新增到 inserted

表和觸發器表中。inserted 表中的行是觸發器表中新行的副本。

1.插入操作(insert)

inserted表有資料,deleted表無資料

2.刪除操作(delete)

inserted表無資料,deleted表有資料

3.更新操作(update)

inserted表有資料(新資料),deleted表有資料(舊資料)

編寫乙個資料庫觸發器,規定他在到達規定的時間時執行dml(即insert,update,delete)任務

5樓:匿名使用者

create trigger tr_a

on a

for insert,update,delere as

begin

if exists(select 1 from inserted) and not exists(select 1 from deleted)

begin

-- 插入觸發.

insert into b

select

inserted.a

from

inserted;

end;

if exists(select 1 from inserted) and exists(select 1 from deleted)

begin

-- 更新觸發.

delete from b where a in ( select a from deleted);

insert into b

select

inserted.a

from

inserted;

end;

if not exists(select 1 from inserted) and exists(select 1 from deleted)

begin

-- 刪除觸發

delete from b where a in ( select a from deleted);

end;

資料庫select、insert、update、delete這四個語法解釋?

6樓:匿名使用者

select:從表中查詢資料,用於查詢操作insert:插入記錄到表中,用於插入操作update:修改表中的某條記錄,用於更新操作delete:刪除某條記錄,用於刪除操作

7樓:匿名使用者

select:選擇,挑選,精選的

nsert:插入,嵌入,插入物,…

update:使現代化,修正,校正…

delete: 刪除

8樓:匿名使用者

select選擇

select 列名 from 表名 where 條件insert插入

insert into 表名(列名) values(各個欄位的值)列名可以省略

也可以另一種形式,沒有values的

insert into 表名 查詢結果

如 insert into a

select '','','' --這裡的列要與表 a定義相符才能正常插入

update修改

update 表名 set 列名=值 where 條件如:update a set a.a1='1' where a.a2='3'

把a2=3的所有a1修改為1

delete刪除

刪除**中的記錄

delete from 表名 where 條件如:刪除a.a1='1'的所有記錄

delete from a where a.a1='1'

9樓:匿名使用者

select選擇 insert插入 update修改 delete刪除

eg:select * from db1 where id='"& text1 &"'

在db1資料庫中選擇id欄位=text1的資訊

insert into db1(id) values('" & text1 & "')

在db1中插入id=text1的資訊

update db1 set [id]='" & val(text1) & "' where 條件"

符合條件的情況下,將db1中的id修改成text1輸入內容

delete from db1 where id='" & text1 & "'

刪除db1中id=text1的資訊

sql server 觸發器問題,觸發器觸發的條件有 insert,update,delete ,我想要乙個例子 在乙個表建立乙個觸

10樓:匿名使用者

create trigger tr_a

on a

for insert,update,delere as

begin

if exists(select 1 from inserted) and not exists(select 1 from deleted)

begin

-- 插入觸發.

insert into b

select

inserted.a

from

inserted;

end;

if exists(select 1 from inserted) and exists(select 1 from deleted)

begin

-- 更新觸發.

delete from b where a in ( select a from deleted);

insert into b

select

inserted.a

from

inserted;

end;

if not exists(select 1 from inserted) and exists(select 1 from deleted)

begin

-- 刪除觸發

delete from b where a in ( select a from deleted);

end;end

11樓:匿名使用者

declare @tmp varchar(10)

select @temp=a from inserted

insert b values(@tmp)

sql語言中add,alter,drop和insert,update,delete的區別?

12樓:匿名使用者

add,alter,drop是針對某個表或檢視,儲存等資料庫結構進行操作的。。而insert,update,delete是針對表中的資料進行操作的

13樓:匿名使用者

add,alter,drop是ddl語句,insert,update,delete是dml語句

ddl語句是對錶結構的修改,dml語句是對錶資料的修改比如乙個表有3列資料c1,c2,c3如下

a,1,2

b,2,3

c,3,4

ddl語句可以給表新增一列,刪除一列或者刪掉這個表而dml語句是給表裡的資料修改,新增,或刪除

14樓:

乙個是對錶的操作

乙個是對錶資料的操作

15樓:匿名使用者

理解的很對,多動手操作看看效果!

SQL如何建立觸發器,SQL如何建立乙個觸發器

這最好用程式控制,有資料庫sql05可用加密.也可用如果對mssql的使用者資訊有興趣的,可能會發現master.dbo.sysxlogins裡面存放著使用者的口令,可是呢,password欄位如果不是null就是一堆看不懂的binary,這個口令是怎麼加密的呢?其實只要仔細看看master.dbo...

oracle如何建立觸發器,Oracle如何建立觸發器

一般在sqlplus或者其他第三方oracle工具中,按照語法及需求寫好 直接執行建立過程即可。一般語法如下 create or replace trigger trigger name or on schema.table name schema.view name referencing for...

SQL裡中儲存過程和觸發器,如何建立

觸發器是一種特殊的儲存過程,2.觸發器是在對錶進行插入 更新或刪除操作時自動執行的儲存過程 3.觸發器通常用於強制業務規則 4.觸發器是一種高階約束,可以定義比用check 約束更為複雜的約束 5.可執行複雜的sql語句 if while case delete 觸發器 insert 觸發器 upd...

請問sql觸發器insert觸發器如何使用

謹傑 在sql server中使用 create trigger insert stu on stufor insert asinsert into user uname,upassword select sid,sid from inserted在oracle中使用,預設密碼為學生id號creat...

建立觸發器,當修改學生課程成績時,自動將相關資訊寫入GradeChange表

1 建立乙個帶有輸入引數和輸出的儲存過程p kh,返回指定教師 作為輸入引數 所授課程的課程號 作為輸出引數 2 建立並執行帶輸入和輸出引數的儲存過程p cj3,查詢指定學號 輸入引數 學生所選課程的課程名和成績 輸出引數 呼叫儲存過程後,顯示 xx學號選修的課程名為 xx 其成績是 xx 3 分別...