SQL儲存過程 觸發器

2021-04-13 21:33:40 字數 3547 閱讀 1411

儲存過程

由使用者使用create procedure語句在當前資料庫中建立

資料庫所有者擁有使用create procedure語句的預設許可權

語法

create proc[edure]procedure_name

建立儲存過程示例

無引數

create procedure titles_1389 as

print'此**顯示出版商1389出版的標題'

select * from titles where pub_id ='1389'

有引數

create procedure titles_pub

@v_pubid char(4)

as

select * from titles where pub_id = @v_pubid

execute語句用來執行使用者定義的儲存過程。

語法

exec[ute] procedure_name

示例

有引數

execute titles_pub'0877'

建立觸發器

觸發器可以通過企業管理器或者查詢分析器來建立。

語法:

create trigger trigger_name

on table

[with encryption]

for [delete, insert, update]

as sql_statements

insert觸發器示例

alter trigger checkroyalty

on roysched

for insert,update as

if (select max(royalty) from inserted) > 30

begin

print 'royaltytrigger:版權費不能超過30'

print '請將版權費修改為小於30的值'

rollback transaction

end

列級update觸發器示例

create trigger noupdatepayterms

on sales

for update as

if update (payterms)

begin

print '不能修改訂單的付費條款'

rollback transaction

end

觸發器定義中的

if update (

列名 )

子句可用來確定

insert

或update

語句是否影響到表中的乙個特定列。無論何時

,當列被賦值時

,該子句即為

true。

delete觸發器示例

create trigger nodelete9901

on pub_info

for delete as

if (select pub_id from deleted) = 9901

begin

print '不能刪除出版商9901的詳細資訊'

rollback transaction

end

sql 觸發器 儲存過程 觸發器(3 3)

1 what?什麼是觸發器 trigger 前兩篇介紹了儲存過程,儲存過程可以理解為sql語句集。那麼觸發器就是一種特殊的儲存過程,也就是一群特殊的sql語句集。特殊在哪?從上文得知,儲存過程是依賴名字才被呼叫的。不僅是儲存過程,我們常用的方法等,大部分也是先知道名字,才能去使用。就像吃飯採用訂外賣...

SQL儲存過程,事務,觸發器

儲存過程 概念 資料庫中乙個內建的程式段,當執行儲存過程到時候,就會將其內部的 執行一遍。優點 1執行速度 比較 快 2安全性比較高 傳參方式決定 語法 procdurce過程 簡稱proc 解釋 1.執行效率快 sql語句在執行的時候,每次 執行,資料庫都會進行編譯。儲存過程是在建立的時候編譯,一...

觸發器 儲存過程

1 為productsales資料庫中的產品表建立乙個名為update pno的update觸發器,該觸發器的作用是禁止更新產品表中的 productname 欄位的內容。並用update語句修改產品表中第一條記錄為 1 hp1500 印表機 2000 要求顯示 不能修改產品名稱 的警告資訊。cre...