【发布时间】:2016-06-25 10:21:30
【问题描述】:
DECLARE @Coid INT
DECLARE @DTRID INT
DECLARE @EMPID INT
DECLARE @DATE datetime
SELECT TOP 1 @EMPID = tblEmployees.Id, @Coid = tblEmployees.CompanyId, @DATE = tblDailyTimeRecord.TimeIn, @DTRID = tblDailyTimeRecord.Id FROM tblEmployees INNER JOIN tblDailyTimeRecord ON tblEmployees.Id = tblDailyTimeRecord.EmployeeId WHERE tblDailyTimeRecord.Date = CONVERT(date, GETDATE()) AND tblDailyTimeRecord.TimeOut IS NULL ORDER BY tblDailyTimeRecord.ID DESC
IF @Coid IS NULL
BEGIN
DECLARE @IdentityValue TABLE ( ContactID int,EmpId int,DATE datetime)
INSERT INTO [tblDailyTimeRecord]([EmployeeId],[Date],[TimeOut],[IsModified],[CompanyId])
OUTPUT INSERTED.Id,INSERTED.EmployeeId,INSERTED.TimeOut INTO @IdentityValue
Select Id,CONVERT(date, GETDATE()),GETDATE(),0,CompanyId From tblEmployees Where AccessCode = 'GI0056'
INSERT INTO tblTimeLog([EmployeeId],[Time],[Type],[TimeLogSourceId],[CreationDate])
Select EmpId,DATE,2,11,GETDATE() From @IdentityValue
END
ELSE
BEGIN
DECLARE @PAIR int
DECLARE @TIMEOUT datetime
SET @TIMEOUT = GETDATE()
IF @DATE IS NULL
SET @PAIR = 0
ELSE
SET @PAIR = 1
UPDATE [tblDailyTimeRecord] SET TimeOut = @TIMEOUT, PairNo = @PAIR WHERE ID = @DTRID
INSERT INTO tblTimeLog([EmployeeId],[Time],[Type],[TimeLogSourceId],[CreationDate])
VALUES (@EMPID,@TIMEOUT,2,11,@TIMEOUT)
END
【问题讨论】:
-
@Arulkumar 我投票结束这个问题,因为它不清楚,因为它没有解释代码的作用,并且将在代码审查中被关闭和否决。
-
更多的空格会更容易阅读。
标签: sql sql-server