DECLARE @BatchID int
SELECT @BatchID= COALESCE(MaxBatchID,0) + 1
FROM (SELECT MAX(BatchID) AS MaxBatchID FROM SDetail)t
UPDATE smaster
SET BatchID = @BatchID
WHERE BatchID IS NULL
INSERT Slog
(SID,
Msg,
createddt,
created_by,
BatchId
)
SELECT COALESCE(SID,0),
CASE WHEN Sid IS NULL THEN 'invalid Sid is required field'
WHEN name IS NULL THEN 'Sitename is required and cannot be null'
...
END,
createddt,
created_by,
BatchID
FROM smaster
WHERE BatchID = @BatchID
INSERT SDetail
SELECT s.BatchID,
(SELECT COUNT(1)
FROM Smaster
WHERE BatchID = s.BatchID) - COUNT(1) ,
COUNT(1),
MIN(createddt),
MIN(created_by)
FROM Slog s
WHERE BatchID = @BatchID
------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/