存储过程_循环插入数据

循环插入数据,实现日期连续(每天都有数据记录),存储过程如下:

USE [Q3_DB]
GO
/****** Object: StoredProcedure [dbo].[t_workshop_work_list_AutoAddData] Script Date: 04/25/2014 13:42:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: lyf
-- Create date: 2014-4-23 17:17
-- Description: 循环插入数据,实现工作日志表中创建日志时间create_time连续
-- =============================================
ALTER PROCEDURE [dbo].[t_workshop_work_list_AutoAddData]
--@workshop_work_list_key uniqueidentifier
AS
declare @count int --表中数据量
declare @mindata datetime --日志最早创建时间
declare @have_count int --符合条件的数据量
begin
set @count=(select COUNT(*) from dbo.t_workshop_work_list)
set @mindata=(select MIN(create_time)+1 from dbo.t_workshop_work_list)
if @count>0 --当表中有数据时
begin
while CONVERT(nvarchar(11),@mindata,120)<CONVERT(nvarchar(11),GETDATE(),120)
begin
set @have_count=(select COUNT(*) from dbo.t_workshop_work_list
where CONVERT(nvarchar(11), create_time,120)=CONVERT(nvarchar(11), @mindata,120))

if @have_count=0 --当日期@mindata在表中不存在时,执行插入数据
begin
insert into dbo.t_workshop_work_list (workshop_work_list_key,status, update_time, create_time)
values(NEWID(),1,CONVERT(nvarchar(11), @mindata,120),CONVERT(nvarchar(11), @mindata,120));
end
set @mindata=@mindata+1
end
end
end

转载于:https://www.cnblogs.com/leeboy/p/3688587.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值