首页 > 代码库 > 实战基础技能(25)--------sql存储过程的创建

实战基础技能(25)--------sql存储过程的创建

一:没有参数的存储过程

CREATE PROCEDURE  select_allASBEGIN    SELECT * from T_login1ENDGO

二:带参数的存储过程

CREATE PROCEDURE select_name        @id uniqueidentifierASBEGIN    SELECT * from T_login1 where PSN0001A=@idENDGO

三:带通配符参数存储过程

alter proc proc_findStudentByName            @name nvarchar(10)=F%as    select * from T_login1 where PSN0001A like @name goexec proc_findStudentByName F%

 四:带默认值的参数的存储过程

create proc sele_name@name nvarchar(10)=hong3asselect * from T_login1 where PSN0002A=@nameexec sele_name lkexec  sele_name

 五:带输出参数的存储过程

create proc [dbo].[p_selectName]@name nvarchar(10),@num int outputasselect @num=COUNT(PSN0001A) from T_login1 where PSN0002A=@namedeclare @num int exec p_selectName lk,@num outputprint @numdeclare @num1 int exec p_selectName @name=lk,@num=@num1 outputprint @num1

 六:临时存储过程

create proc #p_selectName2asselect COUNT(PSN0001A) from T_login1 where PSN0002A=lkexec #p_selectName2

七:存储过程的嵌套

alter proc #p_selectName2asselect COUNT(PSN0001A) from T_login1 where PSN0002A=lkexec sele_nameexec #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_encryptiongocreate proc proc_temp_encryptionwith encryptionas    select * from T_login1;goexec proc_temp_encryption;exec sp_helptext proc_temp1;exec sp_helptext proc_temp_encryption;

 

实战基础技能(25)--------sql存储过程的创建