sql儲存過程的建立

2022-04-30 23:00:22 字數 2490 閱讀 9252

一:沒有引數的儲存過程

create procedure  select_all

asbegin

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_selectname2

asselect count(psn0001a) from t_login1 where psn0002a='lk'

exec #p_selectname2

七:儲存過程的巢狀

alter proc #p_selectname2

asselect 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...