如何在不使用任何工具的情况下导出SYBASE IQ / SYBASE ASE中的所有对象(如表,索引等)的ddl?

时间:2015-12-14 08:37:58

标签: java schema sybase-iq

我创建了一个示例程序,我希望使用get_ddl方法获取所有对象的ddl,如table,trigger等。当我在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论坛上发帖,但所有网站都不可用,任何人都可以建议我链接发布我的问题。

先谢谢!!

2 个答案:

答案 0 :(得分:0)

可以从sys.syssource中提取触发器,存储过程和视图的ddl。不幸的是,IQ不会为其他对象存储ddl

答案 1 :(得分:0)

对于ase,

使用sybsystemprocs 转到

sp_helptext(object) 转到

用于视图,存储过程和触发器