使用脚本更改表定义的列顺序

时间:2016-04-19 08:10:23

标签: sql sql-server database bulkinsert

工作

我需要通过重新排列目标表中的所有字段来修复损坏的bulkinsert,以便顺序与bulkinsert的定义匹配。

我需要在几个环境中的几个DB上执行此操作。

我能做什么

手动将字段拖放到正确的位置,这会起作用,但由于字段完全不匹配,这将非常低效。

我想要什么

如果我可以创建一个为我重新排列的sql脚本,我的工作会更容易和可重复。

使用脚本,我需要付出一次努力,并以可靠的方式在所有其他数据库环境中执行。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您需要做的是创建一个包含正确顺序列的表,从旧表中移动数据,删除旧表并重命名新表。请记住,您需要删除并重新创建旧表上的所有约束。 基本上这就是使用GUI重新排列它们时的作用。

答案 1 :(得分:0)

选项1

创建格式文件并使用它来导入数据。请查看此链接以进一步阅读 - MSDN LINK

选项2

创建一个视图,从表中选择数据,列中包含所需的顺序。现在将数据插入视图而不是表

选项3

创建一个脚本,以按所需顺序创建包含列的表副本。将现有数据移动到此表。现在删除表并重命名副本。