sql存储过程的创建
生活随笔
收集整理的這篇文章主要介紹了
sql存储过程的创建
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:沒有參數的存儲過程
CREATE PROCEDURE select_all AS BEGINSELECT * from T_login1 END GO二:帶參數的存儲過程
CREATE PROCEDURE select_name@id uniqueidentifier AS BEGINSELECT * from T_login1 where PSN0001A=@id END GO三:帶通配符參數存儲過程
alter proc proc_findStudentByName@name nvarchar(10)='F%' asselect * from T_login1 where PSN0001A like @name goexec proc_findStudentByName 'F%'?四:帶默認值的參數的存儲過程
create proc sele_name @name nvarchar(10)='hong3' as select * from T_login1 where PSN0002A=@nameexec sele_name 'lk' exec sele_name?五:帶輸出參數的存儲過程
create proc [dbo].[p_selectName]@name nvarchar(10), @num int output as select @num=COUNT(PSN0001A) from T_login1 where PSN0002A=@namedeclare @num int exec p_selectName 'lk',@num output print @numdeclare @num1 int exec p_selectName @name='lk',@num=@num1 output print @num1?六:臨時存儲過程
create proc #p_selectName2 as select COUNT(PSN0001A) from T_login1 where PSN0002A='lk'exec #p_selectName2七:存儲過程的嵌套
alter proc #p_selectName2 as select COUNT(PSN0001A) from T_login1 where PSN0002A='lk' exec sele_nameexec #p_selectName2?八:不緩存的存儲過程
if (object_id('proc_temp', 'P') is not null)drop proc proc_temp1--如果存在不為空,釋放掉gocreate proc proc_temp1with recompileasselect * from T_login1goexec proc_temp1;九:加密存儲過程(無法查看存儲過程的代碼)
if (object_id('proc_temp_encryption', 'P') is not null)drop proc proc_temp_encryption go create proc proc_temp_encryption with encryption asselect * from T_login1; goexec proc_temp_encryption; exec sp_helptext 'proc_temp1'; exec sp_helptext 'proc_temp_encryption';?十:存儲過程中使用if......else
CREATE PROCEDURE pro_numToName@num int ,@str nvarchar(5) output ASif @num=11beginset @str='wang'endelsebeginset @str='qita'end?
總結
以上是生活随笔為你收集整理的sql存储过程的创建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 博客会暂时停止一段时间
- 下一篇: C#调用C++dll