定时注销电子签核用户
USE [EFNETSYS]
GO
/****** Object: StoredProcedure [dbo].[SP_Dz] Script Date: 05/26/2018 16:14:10 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[SP_Dz]
(
@注销时间 int = 360
)
AS
BEGIN
SET NOCOUNT ON;
--------------------------------------------------------------
if object_id('tempdb..#TempA') is not null drop table #TempA;
--------------------------------------------------------------
DECLARE @Time nchar(20) = replace(Convert(nchar(20),GETDATE(),120),'-','/')
DECLARE @Run_Time_ss int , @XUHAO varchar(8)
set @Run_Time_ss = Convert(int,substring(@Time,18,2))
+ Convert(int,substring(@Time,15,2)) * 60
+ Convert(int,substring(@Time,12,2)) * 360
select * into #TempA from
(
select
ROW_NUMBER() OVER (ORDER BY @XUHAO ASC) AS '序号'
,*
from
(
select
ZZ001 as 登录者
,ZY002 as 起始时间
,@Time as 当前时间
,@Run_Time_ss -
( Convert(int,substring(ZY002,18,2))
+ Convert(int,substring(ZY002,15,2)) * 60
+ Convert(int,substring(ZY002,12,2)) * 360) as 运行时间
,ZZ004 from EFNETSYS.dbo.CRMZZ
left join EFNETSYS.dbo.CRMZY
on ZZ001 = ZY001 and ZZ004 = ZY004 ) as A
where 运行时间 > @注销时间
) as B
---------------------------------------------------------------
DECLARE @i int = 1
,@rows int = (select COUNT(*) from #TempA)
,@ZZ004 nchar(20)
if @rows <> 0
begin
while @i <= @rows
begin
select @ZZ004 = ZZ004 from #TempA where 序号 = @i
delete from EFNETSYS..CRMZZ where ZZ004 = @ZZ004
set @i = @i + 1
end
end
drop table #TempA
---------------------------------------------------------------
End
GO
网站题目:定时注销电子签核用户
分享路径:http://scyanting.com/article/pgsjde.html