我创建了一个示例程序,我想在其中使用 get_ddl 方法获取所有对象(如表、触发器等)的 ddl。当我尝试在 oracle 中跟踪查询时,它起作用了。
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 ;
但是,当我尝试为 sybase 创建相同的示例以获取所有对象的 ddl 或脚本时,它不起作用。因为 sybase 数据库中不支持 get_ddl。任何人都可以帮助我知道 sybase Iq 15 是否支持 get_ddl 方法,或者是否有任何其他方法/方式或查询来创建所有对象的 ddl/脚本。
我想在 SAP 论坛上发布它,但所有站点都不可用,任何人都可以建议我发布我的问题的链接。
提前致谢!!
最佳答案
触发器、存储过程和 View 的 ddl 可以从 sys.syssource 中提取。不幸的是 IQ 不为其他对象存储 ddl
关于java - 如何在不使用任何工具的情况下在 SYBASE IQ/SYBASE ASE 中导出所有对象(如表、索引等)的 ddl?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34262622/