當前位置:首頁 » 編程語言 » sql新建觸發器

sql新建觸發器

發布時間: 2022-06-13 10:06:03

sql如何創建一個觸發器

創建觸發器用 CREATE TRIGGER

CREATE TRIGGER 觸發器名稱
ON 表名
FOR INSERT、UPDATE 或 DELETE
AS T-SQL 語句

注意:觸發器名稱是不加引號的。

例子:
create trigger jcsj_1
on 表名
for insert
as
begin
update 表名 set 授課門數=授課門數+1 where 教師ID=(select 教師 ID from inserted)
end

詳見
http://tech.ddvip.com/2007-01/116783077317261.html
請採納答案,支持我一下。

❷ SQL server 創建觸發器

create trigger tri
before insert
on 成績表
for each now
begin
if :new.pscj<30 and :new.qmcj<30 then
update 成績表 set pscj=(:new.pscj+10) and qmcj=(:new.qmcj+10)
end if
大概意思是這樣的,我用的是Oracle寫的,:new表示新插入的數據

❸ SQL里中存儲過程和觸發器,如何創建

  1. 觸發器是一種特殊的存儲過程,
    2.觸發器是在對表進行插入、更新或刪除操作時自動執行的存儲過程
    3.觸發器通常用於強制業務規則
    4.觸發器是一種高級約束,可以定義比用CHECK 約束更為復雜的約束
    5.可執行復雜的SQL語句(if/while/case)

  2. DELETE 觸發器
    INSERT 觸發器
    UPDATE 觸發器

  3. /*----------Insert 插入 觸發器------------*/
    Create Trigger Tri_insert
    on students /*針對某個表,觸發器是建立在表關繫上的*/
    for insert /*採用的是哪種觸發器*/
    as
    declare @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')

  4. go
    --就是插一條數據進入students中,Tri_insert觸發器就會自動在student_Score插入相關的學生的一條分數的數據
    insert into students(s_name,s_classId) values('黃馳',6)

  5. select * from student_Score

❹ SQl中怎麼樣創建觸發器

創建觸發器:
Create
Trigger
名稱

On
表名

For
類型

As

Sql語句

希望對你有幫助!

❺ sql語句 如何創建觸發器

其實可以使用DEFAULT約束
alter
table
tbname
add
constraint
DF_Password
default
'666666'
FOR
[password]
當然觸發器也可以的
create
trigger
trIns
on
表名
instead
of
insert
as
begin
insert
表名(用戶名,密碼,col1.。。。)
select
username,'666666',...
from
inserted
end

❻ SQL觸發器怎麼做

CREATE
TRIGGER
[km]
ON
員工表
AFTER
DELETE
AS
BEGIN
DELETE
FROM
工資表
WHERE
員工編號
IN
(SELECT
員工編號
FROM
deleted)
END
CREATE
TRIGGER
[gf]
ON
員工表
AFTER
UPDATE
AS
BEGIN
UPDATE
工資表
SET
部門編號=(SELECT
部門編號
FROM
inserted)
WHERE
員工編號=(SELECT
員工編號
FROM
inserted)
END

❼ sql觸發器的創建

# 創建insert類型觸發器
--創建insert插入類型觸發器
if (object_id('tgr_classes_insert', 'tr') is not null)
drop trigger tgr_classes_insert
go
create trigger tgr_classes_insert
on classes
for insert --插入觸發
as
--定義變數
declare @id int, @name varchar(20), @temp int;
--在inserted表中查詢已經插入記錄信息
select @id = id, @name = name from inserted;
set @name = @name + convert(varchar, @id);
set @temp = @id / 2;
insert into student values(@name, 18 + @id, @temp, @id);
print '添加學生成功!';
go
--插入數據
insert into classes values('5班', getDate());
--查詢數據
select * from classes;
select * from student order by id;
insert觸發器,會在inserted表中添加一條剛插入的記錄。

# 創建delete類型觸發器
--delete刪除類型觸發器
if (object_id('tgr_classes_delete', 'TR') is not null)
drop trigger tgr_classes_delete
go
create trigger tgr_classes_delete
on classes
for delete --刪除觸發
as
print '備份數據中……';
if (object_id('classesBackup', 'U') is not null)
--存在classesBackup,直接插入數據
insert into classesBackup select name, createDate from deleted;
else
--不存在classesBackup創建再插入
select * into classesBackup from deleted;
print '備份數據成功!';
go
--
--不顯示影響行數
--set nocount on;
delete classes where name = '5班';
--查詢數據
select * from classes;
select * from classesBackup;
delete觸發器會在刪除數據的時候,將剛才刪除的數據保存在deleted表中。

# 創建update類型觸發器
--update更新類型觸發器
if (object_id('tgr_classes_update', 'TR') is not null)
drop trigger tgr_classes_update
go
create trigger tgr_classes_update
on classes
for update
as
declare @oldName varchar(20), @newName varchar(20);
--更新前的數據
select @oldName = name from deleted;
if (exists (select * from student where name like '%'+ @oldName + '%'))
begin
--更新後的數據
select @newName = name from inserted;
update student set name = replace(name, @oldName, @newName) where name like '%'+ @oldName + '%';
print '級聯修改數據成功!';
end
else
print '無需修改student表!';
go
--查詢數據
select * from student order by id;
select * from classes;
update classes set name = '五班' where name = '5班';
update觸發器會在更新數據後,將更新前的數據保存在deleted表中,更新後的數據保存在inserted表中。

❽ sql server2012如何建立觸發器

  • 首先你當然要有一個資料庫了,這里我使用自己創建的資料庫booksDB。

    在資料庫booksDB上創建觸發器,右擊觸發器->新建觸發器,打開之後的界面如下所示

  • 6

    資料庫的增刪改查類似

❾ sql server 中如何建立觸發器

你可以直接用語句寫呀,如:
CREATE
TRIGGER
[TRIGGER
NAME]
ON
[dbo].[TABLE
NAME]
FOR
INSERT,
UPDATE,
DELETE
AS
或者你用SQL
SERVER的企業管理器,選中要建立觸發器的表,點後鍵,然後選擇管理觸發器,這時會彈出一個編輯窗口,然後自己編寫觸發器就OK了。

❿ 怎樣創建一個sql的觸發器

視圖是虛擬表,不能建觸發器,只能在基本表上建

熱點內容
roblox跑酷腳本怎麼做 發布:2024-05-05 03:57:35 瀏覽:701
捷徑清理緩存 發布:2024-05-05 03:57:35 瀏覽:478
ftputility哪裡下載 發布:2024-05-05 03:47:13 瀏覽:1000
雷凌運動版如何連接安卓手機導航 發布:2024-05-05 03:42:48 瀏覽:267
自動鬼使黑腳本 發布:2024-05-05 03:10:49 瀏覽:880
游戲腳本編程書籍推薦 發布:2024-05-05 02:59:13 瀏覽:72
編譯器書籍推薦 發布:2024-05-05 02:57:02 瀏覽:56
電池存儲溫度 發布:2024-05-05 02:53:07 瀏覽:207
安卓在美國怎麼下載 發布:2024-05-05 02:31:06 瀏覽:925
黑莓存儲空間 發布:2024-05-05 02:19:50 瀏覽:275