資料庫SQL SQL儲存過程使用案例

2021-07-25 18:56:28 字數 1565 閱讀 9523

/**觸發器呼叫儲存過程,直接寫: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語句的集合,經編譯後存放在資料庫...