0
问题描述 - 希望创建一个接受整数输入的过程。想要创建一个接受整数输入的过程,与表的数量和真正的创建备份表进行比较
- 如果匹配然后创建表格中的 - 如果不匹配,采取计时差和电子邮件,以电子邮件的要求列表的副本比较这个整数输入与表A的行数。
问题描述 - 希望创建一个接受整数输入的过程。想要创建一个接受整数输入的过程,与表的数量和真正的创建备份表进行比较
DECLARE @DealCount int
SET @DealCount =1234
IF @DealCount = (SELECT count(*) from A)
THEN (INSERT INTO NEW_TABLE from A)
ELSE
SELECT count(*)- @DealCount from A
这可能有助于你
DECLARE @CheckCount INT=15, --Input your data count
@CheckTableCount INT,
@TableWithDate DATE =Getdate(),
@Sql NVARCHAR(max),
@myRecipientList VARCHAR(max),
@DiffTableCount INT
IF EXISTS(SELECT Count(1)
FROM employees)
BEGIN
SELECT @CheckTableCount = Count(1)
FROM employees
IF (@CheckTableCount = @CheckCount)
BEGIN
SET @Sql=N' SELECT * INTO TableName_'
+ Replace(Cast(@TableWithDate AS VARCHAR(10)), '-', '')
+ ' FROM EMPLOYEES WHERE 1=1'
PRINT @Sql
EXECUTE(@Sql)
END
ELSE
BEGIN
SELECT @CheckTableCount = Count(1)
FROM employees
SELECT @DiffTableCount = @CheckTableCount - @CheckCount
SET @myRecipientList = (Stuff((SELECT ';' + emailaddress
FROM table
FOR xml path('')), 1, 1, ''))
EXEC msdb.dbo.Sp_send_dbmail
@profile_name = 'DBMail',
@recipients = @myRecipientList,
@subject = 'There is difference in table count',
@attach_query_result_as_file = 1;
END
END
什么是 “表的计数”。你试过什么了? –
备份表意味着是否要用该数据创建新表或更新一个表中不存在的数据? – 2017-08-29 07:47:12
你尝试过什么吗?如果是这样,为什么它没有工作?如果不是,为什么不呢? – HoneyBadger