gpt4 book ai didi

sql-server - SQL Server 与 Oracle DBMS_METADATA.GET_DDL 并行吗?

转载 作者:行者123 更新时间:2023-12-03 02:36:53 25 4
gpt4 key购买 nike

我正在寻找命令行或脚本化解决方案,以便从 SQL Server 2005+ 中为所有数据库对象提取 DDL:表、存储过程、 View 、索引/索引、约束等。GUI 工具不感兴趣。

优先选择内置工具,因为这与 Oracle 的 DBMS_METADATA 工具最具有可比性。另外,更喜欢像 Oracle 那样简单的解决方案来获取 DDL - 例如单行:

    SELECT DBMS_METADATA.GET_DDL('TABLE', 'MY_TABLE') FROM DUAL

注意:在 SQL Server 2005 中获取过程的内容似乎很容易,但我找不到任何对其他对象(如表)的类似内容的引用。

    SELECT definition     FROM Sys.sql_modules     WHERE object_id = OBJECT_ID('MyProc')

提前致谢!

最佳答案

Transact-SQL 语言不支持。客户端库 (SMO) 可以使用 Scripter 来完成此操作。对象,请参阅 http://msdn.microsoft.com/en-us/library/ms162153.aspx 中的示例。您可以使用 PowerShell 中的 SMO 作为脚本化解决方案。

SQL Management Studio 还有一个选项(右键单击数据库,转到“任务”,选择“生成脚本”),它在幕后使用 SMO Scripter。

关于sql-server - SQL Server 与 Oracle DBMS_METADATA.GET_DDL 并行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1511956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com