⑴ 創建觸發器的命令是什麼
oracle 的語法
-------------------------------------------------------------------------------------
create or replace trigger 觸發器名
before/after 觸發事件——可以是update/delete/insert
on 表名/視圖名
[for each row]——當省略為語句觸發器
[when(觸發條件)]——限定條件
begin
觸發操作
end;
-----------------------------------------------------------------------------------
instead of 觸發器——(只爭對視圖,不能用before after when,視圖沒有with check option)
create or replace trigger 觸發器名
instead of 觸發事件
on 視圖名
[for each row]
begin
觸發操作
end;
⑵ 創建一個觸發器
因為不知道你這個具體情況 所以建議你寫兩個觸發器一個insert 一個delete
create trigger [dbo].[aa_bb] on [dbo].[aa]
for insert
as
insert into bb
select * from inserted
---------------------------------------
create trigger [dbo].[aa_bb] on [dbo].[aa]
for delete
as
delete from a from bb a,inserted b where .....
⑶ SQL中,如何創建一個有條件的觸發器
以 delete 觸發為例:
createtriggertri_delete
ona--將要進行更改的表名
fordelete--給表刪除一條數據的時候觸發
as
declare@aavarchar(10)
select@aa=afromdeleted
if@aa='a'--處理的條件
begin
raiserror('錯誤',16,8)
rollbacktran
end
觸發器效果:刪除表a數據,如果a列為『a』,即阻止刪除,提示『錯誤』
⑷ 怎樣創建一個sql的觸發器
視圖是虛擬表,不能建觸發器,只能在基本表上建
⑸ 如何創建我想要的觸發器
在score加一個自增的ID作為唯一鍵
CREATE TRIGGER tr_guake
ON score
FOR INSERT
AS
Declare @id int,@chengji int
set @id=(select max(id) from score)
set @chengji=(select chengji from score where id=@id)
if @chengji<60
Begin
INSERT INTO guake(stu_id,chengji)
select stu_id,chengji from score where id=@id
End
---stu_id char (10) not null primary key, 是主鍵,但你insert的時候不正確,所以要修改,修改後就可以不要我上面那個ID了. 不過要改一下條件
⑹ 創建一個觸發器
create trigger Mytr
on 學生表
for update as
insert into 班級表(班級號)
select 班級號 from inserted
where not exists
(
select 1 from 班級表
where
班級表.班級號= inserted.班級號
)
--請注意,班級表其他欄位必須是允許null,如果有not null,請使用默認值
⑺ 觸發器的創建
create trigger stu_trg
on student
for update
as
IF(UPDATE([libraryCardNo]))--如果更新了libraryCardNo欄位
BEGIN
BEGIN TRAN
update borrowbook set libraryCardNo=inserted.libraryCardNo
IF(@@error <> 0)--如果更新不成功則回滾
BEGIN
ROLLBACK TRAN
END
ELSE
COMMIT TRAN
END
END
⑻ sql如何創建觸發器
設:該表的主鍵為[編號]
create trigger Mytr
on 數據表
for insert,delete
as
if exists(select 1 from inserted)
update 統計表
set 欄位=
統計表.欄位+a.count
from (select count(1) as count from inserted) a
if exists(select 1 from deleted)
update 統計表
set 欄位=
統計表.欄位-a.count
from (select count(1) as count from deleted) a
⑼ SQL語句創建觸發器
ROLLBACK TRANSACTION
沒有對應的BEGIN TRANSACTION
應是BEGIN TRANSACTION
IF 。。。。。
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
END