sqlserver存储过程学习

存储过程语法如下:

CREATE PROC [ EDURE ] procedure_name [ ; number ]

     [ { @parameter data_type }
         [ VARYING ] [ =  default  ] [ OUTPUT ]
     ] [ ,...n ]
 
[ WITH
     { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
 
[ FOR REPLICATION ]
 
AS
sql_statement [ ...n ]
简单实例:
1、创建存储过程

Create PROCEDURE WeekDay
as

--下面sql为sql_statement
begin
Declare
      @week nvarchar(20),
      @today int

begin
set @today=3
set @week=case
when @today=1 then '星期一'
when @today=2 then '星期二'
when @today=3 then '星期三'
when @today=4 then '星期四'
when @today=5 then '星期五'
when @today=6 then '星期六'
when @today=7 then '星期日'
else '值错误'
end
print @week
end
end

2、执行存储过程

exec   WeekDay

常用sql语句:1)if语句

  1. DECLARE @d INT  
  2. set @d = 1  
  3. IF @d = 1 BEGIN  
  4.    PRINT '正确'  
  5. END  
  6. ELSE BEGIN  
  7.    PRINT '错误'  
  8. END  

2)多条件选择语句

  1. declare @today int  
  2. declare @week nvarchar(3)  
  3. set @today=3  
  4. set @week= case  
  5.      when @today=1 then '星期一'  
  6.      when @today=2 then '星期二'  
  7.      when @today=3 then '星期三'  
  8.      when @today=4 then '星期四'  
  9.      when @today=5 then '星期五'  
  10.      when @today=6 then '星期六'  
  11.      when @today=7 then '星期日'  
  12.      else '值错误'  
  13. end  
  14. print @week 

3)循环语句 

  1. DECLARE @i INT  
  2. SET @i = 1  
  3. WHILE @i<1000000 BEGIN  
  4. set @i=@i+1  
  5. END 

 4)游标

  • 变量赋值:1)set @a=5   2)select @user1= '张三';select @user2 =  Name from ST_User  where ID=1 3)update ST_User  set @user3 =  Name where ID=1
  • 触发器
  • 标量函数:https://www.cnblogs.com/BrokenIce/p/5713225.html

猜你喜欢

转载自www.cnblogs.com/skyfeng-826/p/10399823.html