Sql server 创建MSSQL存储过程以检查表A记录计数。然后将TableA记录插入TableB

Sql server 创建MSSQL存储过程以检查表A记录计数。然后将TableA记录插入TableB,sql-server,sql-server-2008,Sql Server,Sql Server 2008,希望有人能给我一个如何在MSSQL 2008/2005中执行以下操作的一般示例 我需要在存储过程中执行以下操作 我需要它来验证TableA有多个记录。 如果表A有多条记录,则: 从表B中删除所有记录,并将记录从表A复制到表B 为了论证和/或简单起见,表A和表B方案是相同的 如果我在VB中执行这些任务,那么这项任务就不会那么难了,但我正试图将这项工作转移到SQL server上,我对如何完成这项工作不太熟悉。尝试以下方法: CREATE PROC DoStuff AS IF (SE

希望有人能给我一个如何在MSSQL 2008/2005中执行以下操作的一般示例

我需要在存储过程中执行以下操作

我需要它来验证TableA有多个记录。 如果表A有多条记录,则:

从表B中删除所有记录,并将记录从表A复制到表B

为了论证和/或简单起见,表A和表B方案是相同的


如果我在VB中执行这些任务,那么这项任务就不会那么难了,但我正试图将这项工作转移到SQL server上,我对如何完成这项工作不太熟悉。

尝试以下方法:

 CREATE PROC DoStuff
 AS 

    IF (SELECT COUNT(*) FROM TableA) > 1
    BEGIN

         DELETE TableB;
         INSERT INTO TableB (ID, CustomerName) 
             SELECT ID, CustomerName
             FROM TableA;
    END

我建议您看看SQL Server集成服务。它被设计来执行您正试图执行的任务类型

以下是一些让您开始学习的链接:


这些都是使用增量加载进行的,这似乎是您想要做的。

@Kardsen:不客气;记住在所有问题上使用绿色复选标记(和向上投票)来选择对你帮助最大的答案。这是StackOverflow声誉系统的一部分。谢谢。我所做的全部工作背后的想法是,有另一个服务器保存我需要查询的所有未结票证数据,用于基于Web的报告。问题是原始表是不稳定的。如果不是一次一天,它会持续数小时。因此,我在服务器上保留了一个本地副本,并在结果可用时进行更新。该表通常只包含3000-4000条记录。不过,我肯定会看看SSI,因为它可能会在我想做的其他一些自动化中被证明是有用的。