1樓:匿名使用者
set ansi_nulls on
set quoted_identifier ongoalter trigger [dbo].[update_grade]
on [dbo].[reader]
for update
as if update(num)
declare @score int
begin
set nocount on;
select @score=num from insertedif @score>=20
print '已達上限!'end
2樓:匿名使用者
建立一個update觸發器:
create trigger trustudenton student
for update --觸發器型別--updateas if update(studentid)begin
update borrowrecord
set br.studentid=i.studentidfrom borrowrecord br , deleted d ,inserted i
where br.studentid=d.studentidend
建立一個delete觸發器
create trigger trdstudenton student
for delete
as delete borrowrecordfrom borrowrecord br , delted dwhere br.studentid=d.studentid
sql server 中如何建立觸發器
3樓:文件類共創空間
建立觸發器的語法:
create trigger trigger_nameon table_name
[with encryption]
for [delete, insert, update]ast-sql語句
gowith encryption表示加密觸發器定義的sql文字delete, insert, update指定觸發器的型別insert觸發器的工作原理:
1.執行insert插入語句,在表中插入資料行;
2.觸發insert觸發器,向系統臨時表inserted表中插入新行的備份(副本)
3.觸發器檢查inserted表中插入的新行資料,確定是否需要回滾或執行其他操作。
4樓:
你可以直接用語句寫呀,如:
create trigger [trigger name] on [dbo].[table name]
for insert, update, deleteas或者你用sql server的企業管理器,選中要建立觸發器的表,點後鍵,然後選擇管理觸發器,這時會彈出一個編輯視窗,然後自己編寫觸發器就ok了。
sql中觸發器建立與呼叫
5樓:北千山
檢視和資料表一樣,都能夠利用datawindow直接呼叫儲存過程需要在程式裡面呼叫觸發,有專門語句,叫什麼sql之類的觸發器是sql根據資料表變化自動觸發的,不需要程式處理你說的使用者指的是登入資料庫的使用者?這個一般大型應用裡面管理員踢人才用到,需要呼叫sql資料庫資訊,寫一個專門的程式進行登入使用者管理,幾句話說不清楚
6樓:折柳成萌
先給你舉個觸發器的例項:
先建立兩個表
create table student( --學生表
studentid int primary key, --學號
....
) create table borrowrecord( --學生借書記錄表
borrowrecord int identity(1,1), --流水號
studentid int , --學號
borrowdate datetime, --借出時間
returndate datetime, --歸還時間
...)
建立觸發器
create trigger trustudent
on student --在student表中建立觸發器
for update --為什麼事件觸發,在這裡就是修改的時候會執行這個觸發器,一旦你修改student表,就會執行
as --事件觸發後所要做的事情
if update(studentid)
begin
update borrowrecord
set studentid=i.studentid
from borrowrecord br , deleted d ,inserted i --deleted和inserted臨時表
where br.studentid=d.studentidend
sql中觸發器怎樣執行的?
7樓:大野瘦子
建立觸發器 是特殊的儲存過程,自動執行,一般不要有返回值。
1、後觸發器 (after,for)先執行對應語句,後執行觸發器中的語句。
2、前觸發器 並沒有真正的執行觸發語句(insert,update,delete),而是執行觸發後的語句。
3、行級觸發器 (for each row) 在sql server 中不存在。
8樓:我愛瓜瓜啊
先給你舉個觸發器的例項:
先建立兩個表
create table student( --學生表
studentid int primary key, --學號
....
) create table borrowrecord( --學生借書記錄表
borrowrecord int identity(1,1), --流水號
studentid int , --學號
borrowdate datetime, --借出時間
returndate datetime, --歸還時間
...) 建立觸發器
create trigger trustudent
on student --在student表中建立觸發器
for update --為什麼事件觸發,在這裡就是修改的時候會執行這個觸發器,一旦你修改student表,就會執行
as --事件觸發後所要做的事情
if update(studentid)
begin
update borrowrecord
set studentid=i.studentid
from borrowrecord br , deleted d ,inserted i --deleted和inserted臨時表
where br.studentid=d.studentidend
9樓:匿名使用者
根據你觸發器建立的定義。
在 insert update delete 資料的時候, 自動觸發執行。
sql裡中儲存過程和觸發器,如何建立? 20
10樓:
觸發器是一種特殊的儲存過程,
2.觸發器是在對錶進行插入、更新或刪除操作時自動執行的儲存過程
3.觸發器通常用於強制業務規則
4.觸發器是一種高階約束,可以定義比用check 約束更為複雜的約束
5.可執行復雜的sql語句(if/while/case)
delete 觸發器
insert 觸發器
update 觸發器
/*----------insert 插入 觸發器------------*/
create trigger tri_insert
on students /*針對某個表,觸發器是建立在表關係上的*/
for insert /*採用的是哪種觸發器*/
asdeclare @stu_id int;
declare @stu_score varchar(200);
select @stu_id=s_id from inserted /*這裡的inserted 是在建立觸發器時候 系統自動建立的記憶體表*/
insert into student_score(s_id,ss_score)values(@stu_id,'100')
go--就是插一條資料進入students中,tri_insert觸發器就會自動在student_score插入相關的學生的一條分數的資料
insert into students(s_name,s_classid) values('黃馳',6)
select * from student_score
11樓:匿名使用者
mysql教程4 mysql8運算子、函式、儲存過程及新增資料型別 17.之建立帶有in和out引數的儲存過程 學習猿地
12樓:貳兩毛尖
如果是mssql server,在企業管理器裡,右鍵表名,然後自己看
13樓:匿名使用者
儲存過程可以直接用sql語句建立,觸發器可以在表修改中建立
create procedure nameas
14樓:薛實
(1).儲存過程:
create procedure for_select(你想用的觸發器名字)
delare @name char(8) output(用於輸出的),@age int output(用於輸出),@phone_num char(11) (輸入)
asselect @name=name(列名),@age=age(列名) from table_name(表名)
where phone_num(列名)=@phone_num
(2)觸發器
create tigger for_update
on table_name
after update
asif(update(phone_num))
update table_name2
set phone_num=i.phone_num
from deleted d,inserted i
where table_name.phone_num=d.phone_num
end其中:deleted與inserted是sql中預設的臨時表。用來儲存原來的值和插入的值。
本觸發器的作用是 當更新table_name 中的phone_num時table_name1中的phone_num也一起更新!注意觸發器只能用於update.insert.
delete.select中不能用於建立表............
sql觸發器問題,一個SQL觸發器問題
1,這個 沒問題。2,敲完這個 折後我的bb表裡面的所有資料都沒有了,borrower裡面是否有資料。3,之後也新增不了資料這是什麼回事?是以何種方式新增資料,新增不了報錯?提示是什麼 但是這句 我理解為刪除borrwer表中的brno同時也刪除bb中的brno和bno 對嗎?刪除borrwer表中...
SQL2019如何建立樹形的表,SQL2005如何建立樹形的表
建一個表就行了 表裡要有一個主鍵id 然後還要有一個父級id列 哪果父級列為0那麼它就是最外層的節點,如果不是,去找相應的父級。例如id parentid nodename1 0 a 2 0 b 3 1 a1 4 1 a2 5 2 b1 6 2 b2 7 3 a118 3 a129 6 b21 明白...
oracle中用plsql建立觸發器報觸發器無效且未通
一般情況就是觸發器的語法不正確。觸發器的一般語法回如下 create or replace trigger trigger name or on schema.table name schema.view name referencing for each row when condition pl...