/**觸發器呼叫儲存過程,直接寫:exce 儲存過程名就好了
create trigger trname on tb
for update
asbegin
exec sp_test '','',''...
endgo
儲存過程不能呼叫觸發器,因為觸發器要根據指定條件觸發
**/--儲存過程一般是以sp開頭的
use hbposev9
goif (exists (select * from sys.objects where name = 'sp_test'))
drop proc sp_test
go--建立儲存過程
create procedure sp_test(@item_no varchar(20), @item_subno varchar(20))
as begin
--當引數傳遞下來時,可以直接執行如下操作
--update t_bd_item_info set item_name='test' where item_no=@item_no
select * from t_bd_item_info where item_no=@item_no and item_subno=@item_subno
endgo
--呼叫儲存過程
exec sp_test '01010006','11053001'
/**如下也是案例
create procedure sp_test( @sheet_id varchar(10) ,@branch_no varchar(4) ,@v_no varchar(14) output)
as begin
declare @sheet_no int,@s_date varchar(8),@d_date datetime
select @branch_no=left(@branch_no+'00',2)
select @sheet_no=(isnull(sheet_value,0) + 1)
from t_sys_sheet_no
where lower(sheet_id) = lower(@sheet_id)
if @sheet_no>9999
set @sheet_no =0
update t_sys_sheet_no set sheet_value= @sheet_no where
lower(sheet_id) = lower(@sheet_id)
select @v_no = '0000'+convert(char,@sheet_no)
select @v_no = right(rtrim(@v_no),4)
--@sheet_no = upper(@sheet_id)+string(today(),'yyyymmdd')+v_no
select @s_date=convert(char(8),getdate(),112)
select @v_no = upper(@sheet_id) + @branch_no + right(@s_date,6) + @v_no
end
**/
資料庫儲存過程的使用
1.什麼是儲存工程 儲存過程是乙個預編譯的sql語句,優點是允許模組化的設計,就是說只需建立一次,以後在程式中就可以呼叫多次。如果某次操作需要執行多次sql,使用儲存過程比單純sql語句執行要快。可以用乙個 execute 儲存過程名 引數 命令來呼叫儲存過程。2.儲存工程的優缺點 儲存過程是乙個預...
資料庫 儲存過程
儲存過程,stored procedure,是在大型資料庫系統中,一組為了完成特定功能的sql語句集,經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給出引數 如果該儲存過程帶有引數 來執行它。模擬於c中的函式。mysql與sqlserver是不同的。建立儲存過程 conn getconnec...
資料庫 儲存過程
在資料庫中,儲存過程屬於一種物件,是一種高效的安全的訪問資料庫的方法。下邊我們就資料庫中的儲存過程總結它的相關知識點。我們分為概述,實現和管理三個方面來總結。一,儲存過程的概述 1,概念 儲存過程 storedprocedure 是在資料庫伺服器端執行的一組t sql語句的集合,經編譯後存放在資料庫...