如何使用SQL获取对象架构

时间:2014-06-09 19:38:08

标签: tsql sql-server-2012-express

除了 sp_help' mytablename' ,它给出了对象的每个元素的中断,有没有办法获得原始SQL。与在Microsoft SQL Server中执行以下操作相同。

Microsoft SQL Server - Script Table

使用 sp_helptext' mytablename' 说明以下内容;

  

对象' Track'。

没有文字

更新:sp_helptext适用于存储过程,但不适用于表;

sp_help on a Stored Procedure

1 个答案:

答案 0 :(得分:2)

使用sp_helptext存储过程来获得相同的内容;像

sp_helptext tablename

这将返回特定表的SQL CREATE TABLE文本(或您指定的任何对象;可以是存储过程\ function \ etc)。

根据您编辑的帖子,您说There is no text for object 'Track'。我不确定,但检查您是否有权查看对象正文(或)未使用WITH ENCRYPTION选项加密。

您也可以使用OBJECT_DEFINITION ( object_id )之类的OBJECT_DEFINITION

SELECT OBJECT_DEFINITION (OBJECT_ID(N'Person.uAddress'))

唯一不同的是,它不会为您提供表格的源代码(除表格以外的所有对象)

修改

您可以使用SSMS编写表格脚本(与帖子中的图片相同)。不知道为什么这不符合您的目的。

您也可以使用sp_help

如果您在MySQL中查找Oracle(OR)DESCRIBE中的SHOW TABLE之类的内容,那么就没有可用的内置机制,但您可以合并INFORMATION_SCHEMA.COLUMNS中的所有数据/ sys.objects / etc并创建一个自定义脚本来实现相同的目标。找到以下帖子,人们已经记录了相同类型的脚本。你可以使用相同的。看一看。

How can I show the table structure in SQL Server query?

In SQL Server, how do I generate a CREATE TABLE statement for a given table?