【发布时间】:2012-02-15 07:08:42
【问题描述】:
我的数据库中已经存在几个表。其中一些有很多列。
我想制作一些存储过程来对这些表执行合并语句。为此,我希望存储过程的参数是用户定义的表类型。
我可以编写每个表的脚本并将其修改为用户定义的表类型创建语句。
但我真正想要的是一种从数据库中现有表中生成用户定义表类型的方法。然后我可以将该脚本添加到我的数据库构建中(然后添加新列一个表不需要多次编辑)。
有没有办法做到这一点?还是我应该忙着编写表格脚本?
【问题讨论】:
-
有系统存储过程,e.g.
sp_columns,这将让您提取所有元数据。您可以对其进行按摩并使用动态 SQL 来创建克隆表。我假设您已经考虑过使用SELECT * INTO NewTable FROM OldTable WHERE 42 = 13创建一个新的空表,其结构与现有表相同,但没有行。 -
@user92546 -
table和user defined table type不是一回事。
标签: sql sql-server-2008 tsql sql-server-2008-r2