sql 存储过程里的if else while

一:if  else 

   语法: if 条件 begin 执行的操作 end else begin 执行的操作 end

二:while

  语法:while 条件 begin 执行操作 end

 

实例:

USE [OABusiness]
GO
/****** 对象:  StoredProcedure [dbo].[inertdate]    脚本日期: 08/31/2012 15:30:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[inertdate]
(
     @date  datetime , --插入的日期
     @flag  int --判定插入的数据
)
AS
begin
declare @count int;--用户记录条数
set @count=null;
declare @count_add int ;--计数
set @count_add=1;
declare @Userid int ;--用户Userid
set @Userid =NUll;
declare @WorkHour int ;--插入的时间
declare @SignStatus int ;--状态
end
if @flag=0
begin
set @WorkHour=0
set @SignStatus=1
end 
else if @flag=1
begin
set @WorkHour=28800
set @SignStatus=0
end
begin
--获取记录条数
select @count=count(*) from dbo.T_UserInfo where Away_YN !=1
--循环插入记录
while @count_add<@count+1 
begin
select @Userid=UserID from 
( select row_number() over(order by UserID asc) as num,UserID,Away_YN from dbo.T_UserInfo where Away_YN !=1) as tem 
where num=@count_add

insert into dbo.T_SigninStatistics (UserID,SignDate,WorkHour,SignStatus) values(@Userid,@date,@WorkHour,@SignStatus)
set @count_add=@count_add+1 
end
end

转载于:https://www.cnblogs.com/fuge/archive/2012/09/02/2667507.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值