我已经创建了一个示例程序,其中我使用get_ddl方法得到了所有对象的ddl,如table,trigger等: -
SELECT DBMS_METADATA.GET_DDL('TABLE', TABLE_NAME) FROM USER_TABLES;
SELECT DBMS_METADATA.GET_DDL('TRIGGER', TRIGGER_NAME) FROM USER_TRIGGERS;
SELECT DBMS_METADATA.GET_DDL('VIEW', VIEW_NAME) FROM USER_VIEWS;
SELECT DBMS_METADATA.GET_DDL('FUNCTION', OBJECT_NAME) FROM USER_PROCEDURES WHERE OBJECT_TYPE = 'FUNCTION';
SELECT DBMS_METADATA.GET_DDL('PROCEDURE', OBJECT_NAME) FROM USER_PROCEDURES WHERE OBJECT_TYPE = 'PROCEDURE';
SELECT DBMS_METADATA.GET_DDL('INDEX', INDEX_NAME) FROM USER_INDEXES ;
现在我正在尝试为sql server创建相同的示例来获取所有对象的ddl,所以我想知道sql server 2008是否支持get_ddl方法,或者还有其他任何工具来创建所有对象的ddl。请帮助如何做到这一点。
答案 0 :(得分:0)
用于源对象 -
SELECT OBJECT_SCHEMA_NAME([object_id]), OBJECT_NAME([object_id]), [definition]
FROM sys.sql_modules
表格,索引等 -