表/视图脚本在哪里生成以及如何获取



假设我在查询窗口中编写了一个创建表脚本并运行它。现在,这个脚本文件在哪里生成(系统表)。我是说如果我做

select * from sys.syscomments

我将在"文本"列中获得存储过程或函数的脚本。同样,对于表或视图,有什么方法可以做到这一点?

任何DMV等…

提前感谢

我不确定脚本存储在哪里,但如果您希望能够查看脚本语言来创建表,那么在SQL2008R2(我非常确定SQL2008)中,SSMS可以动态生成脚本。只需选择表(或视图、SP等),然后右键单击即可。从上下文菜单中,选择"将表脚本化为创建对象"(或从列表中选择的任何其他修改)。然后您可以选择输出位置—"新建查询编辑器"窗口可能最容易查看结果。从那里你就有了创建该表的基本语言,你可以从那里修改或保存它。

下面的查询也适用于视图

select * from sys.syscomments 

为了获得表的脚本,你必须

Right Click on database >> tasks >> Generate Scripts >> choose objects (select tables)

我认为这是获取表脚本的可能方式。

对于视图,可以使用中的列VIEW_DEFINITION

SELECT  *
FROM    INFORMATION_SCHEMA.VIEWS

我不认为表有等价物,因为表不需要存储的定义,因为表本身就是定义。如果您需要复制表结构,那么最好的方法可能是使用:

SELECT   *
INTO     NewTable
FROM     OldTable
WHERE    0 = 1

您可以尝试使用系统视图生成自己的脚本,并创建动态SQL,这样可以启动

这不会造成限制,也许我错过了一些东西,或者导致它崩溃,但总的要点是存在的。您也可以在SQL之外执行此操作,如本答案中所示。

但是我应该补充一点,我不会容忍使用这些方法。我能想到的很少有场景需要以这种方式用程序复制表结构。如果有必要一次性复制结构,最好使用SSMS中内置的生成脚本函数。

最新更新