【发布时间】:2014-04-09 12:49:31
【问题描述】:
为了有效地将记录从一个表移动到另一个表,我正在努力编写一个 T-SQL 存储过程来以通用方式完成这项任务。
要求:
- 需要是通用的,以便特定列不会硬编码到存储过程中。
- 唯一的输入参数应该是源表和目标表的名称。
- 源中的所有记录都插入到目标中
- 对于给定的记录,我们仅映射两个表中匹配列中的数据
- 源表中缺少的列将在目标表中接收它们的默认值。
- 目标表中缺少的任何列中的数据都将被忽略
There is one stackoverflow question similar to this,但他们试图根据某个日期时间的值插入临时表。我觉得有必要将此作为原始问题发布,因为这将是一个完全通用的解决方案,没有附加任何特殊条件。
我知道解决方案将涉及使用 Insert Into,非常感谢任何帮助。谢谢。
【问题讨论】:
-
请发表您的尝试
-
如果目标有一个需要值的列,而源中没有匹配的列怎么办?什么定义了匹配列?
标签: sql sql-server tsql stored-procedures dynamic