1樓:sql的藝術
create trigger utri_emp_inserton emp
after insert
as begin
set nocount on;
--當ept裡已經存在相關部門編號
update b set counts=counts+1 from inserted a inner join ept b on a.deptno=b.deptno
if @@error<>0
rollback transaction
--當ept裡不存在部門編號,則執行插入
insert ept select a.deptno,a.dname,1 from inserted a leftjoin ept b on a.
deptno=b.deptno where b.deptno is null
if @@error<>0
rollback transaction
endgo
2樓:
最後這句疑問沒看懂。
不是set dept.counts = dept.counts 是什麼意思?你不是寫的就是嗎?
就會加1 是什麼會加1
另外觸發器裡放乙個游標,非常非常非常不推薦。
sql server 2008 insert 觸發器 在insert語句執行前還是執行
3樓:匿名使用者
這個得看你怎麼定義的啊。建議你貼出你的觸發器指令碼。
create trigger name
on tb
before insert--插入前
after insert--插入後
for insert--插入後
as........
sqlserver 如何用觸發器記錄更新某錶的指令碼
4樓:
create trigger [trig_table_upt] on [dbo].[table]
for insert, update
asif update(columna)
begin
insert into change_log(changedate,operatetable,operatecol,operate,recordid,oldvalue,newvalue)
select getdate(),'table','columna','upt','這裡寫個記錄哪條記錄的主鍵值',b.columna,a.columna
from inserted a inner join deleted b on a.badge=b.badge
endgo
5樓:有健康才有將來
樓上說的對,再乙個,就是sql online book中有完整的trigger教程,你可以看看。
sql server觸發器中 update insert delete 分別給寫個例子被。
我想寫乙個sql server 觸發器 ,功能是實現插入一條資料前修改這條資料
6樓:
不能在插入前處理,只能插入以後進行更新
create trigger tg_insnewvalue on [dbo].[table]
for insert
asupdate table
set table.column = newcolumnvaluefrom table, inserted iwhere table.主鍵 = i.主鍵
7樓:匿名使用者
create trigger beforeinsertteston test_trigger_tablefor insert
asdeclare
@id int, -- 錶主關鍵字@name varchar(10); -- 那個要修改的字段begin
print('before insert');
select @id = id, @name = name from inserted;
print('new name = ' + @name);
update
test_trigger_table
setname = replace(@name , '提議', '')where
id=@id;
end;go
8樓:匿名使用者
可以用instead of insert 觸發器create trigger [dbo].[觸發器名] on [dbo].[表名]
instead of insert
begin
insert [dbo].[表名]( 字段列表)select 字段列表(含欄位處理,如case 欄位a=1 then 1 else 0 end) from insertedend
9樓:寂寞的夫子
這觸發器使用得有點浪費,類似字串處理明顯可以在程式裡很簡單的解決的,畢竟觸發器也耗系統資源的!
10樓:匿名使用者
那就寫啊,沒有必要來這裡告訴大家。
請問sql觸發器insert觸發器如何使用
謹傑 在sql server中使用 create trigger insert stu on stufor insert asinsert into user uname,upassword select sid,sid from inserted在oracle中使用,預設密碼為學生id號creat...
SQL觸發器寫法,SQL資料庫中的觸發器怎麼寫啊?急
觸發器 trigger 是sql server 提供給程式設計師和資料分析員來保證資料完整性的一種方法,它是與表事件相關的特殊的儲存過程,它的執行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,比如當對乙個表進行操作 insert,delete,update 時就會啟用它執行。觸發器經常用於加強資...
資料庫觸發器有什麼作用,SQL中觸發器有什麼作用
觸發器的作用 自動計算資料值,如果資料的值達到了一定的要求,則進行特定的處理。同步實時地複製表中的資料。實現複雜的非標準的資料庫相關完整性規則。可在寫入資料表前,強制檢驗或轉換資料。觸發器發生錯誤時,異動的結果會被撤銷。部分資料庫管理系統可以針對資料定義語言 ddl 使用觸發器,稱為ddl觸發器。可...
28觸發器的作用
歲月留情 觸發器觸發器 trigger 是個特殊的儲存過程,它的執行不是由程式呼叫,也不是手工啟動,而是由個事件來觸發,比如當對乙個表進行操作 insert,delete,update 時就會啟用它執行。觸發器經常用於加強資料的完整性約束和業務規則等。觸發器可以從 dba triggers user...
sql server 如何除錯觸發器
先分析觸發器 是否正確,再對相應表做插入 修改 刪除動作,看所產生的結果與預期的是否相同 用insert到另外一張表 vs 08 可以除錯儲存過程和觸發器。需要sql 05 開啟乙個服務 詳細的可以網上查一下 sql server 中如何建立觸發器 建立觸發器的語法 create trigger t...