一:沒有引數的儲存過程
create procedure select_allasbegin
select * from
t_login1
endgo
二:帶引數的儲存過程
create procedure select_name@id uniqueidentifier
asbegin
select * from t_login1 where psn0001a=@id
endgo
三:帶萬用字元引數儲存過程
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=@name
exec sele_name 'lk
'exec sele_name
五:帶輸出引數的儲存過程
create proc [dbo].[p_selectname]@name nvarchar(
10),
@num
intoutput
asselect @num=count(psn0001a) from t_login1 where psn0002a=@name
declare @num
intexec p_selectname 'lk
',@num output
print @num
declare @num1
intexec p_selectname @name='
lk',@num=@num1 output
print @num1
六:臨時儲存過程
create proc #p_selectname2asselect count(psn0001a) from t_login1 where psn0002a='lk'
exec #p_selectname2
七:儲存過程的巢狀
alter proc #p_selectname2asselect count(psn0001a) from t_login1 where psn0002a='lk'
exec sele_name
exec #p_selectname2
八:不快取的儲存過程
if (object_id('proc_temp
', '
p') is not null
) drop proc proc_temp1--如果存在不為空,釋放掉
go create proc proc_temp1
with recompile as
select * from
t_login1
go exec proc_temp1;
九:加密儲存過程(無法檢視儲存過程的**)
if (object_id('proc_temp_encryption
', '
p') is
not
null
) drop proc proc_temp_encryption
gocreate 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
as
if @num=11
begin
set @str='
wang
'end
else
begin
set @str='
qita
'end
SQL建立的幾種儲存過程
建立儲存過程 表名和比較字段可以做引數的儲存過程 create procedure sp getteacherinfo tblname nvarchar 30 表名 cmpstr nvarchar 30 參與比較的值 tblatr nvarchar 30 參與比較的字段 asdeclare sql ...
SQL建立的幾種儲存過程
建立儲存過程 表名和比較字段可以做引數的儲存過程 create procedure sp getteacherinfo tblname nvarchar 30 表名 cmpstr nvarchar 30 參與比較的值 tblatr nvarchar 30 參與比較的字段 as declare sql...
SQL 建立儲存過程PROCEDURE
1 建立儲存過程 use test2 gocreate procedure fruitproce 檢視表fruits的儲存過程 asselect from fruits go use test2 go create procedure countproce 獲取表fruits的記錄數 asselec...