我正在使用HP Vertica数据库引擎。在数据库中创建了一些表。我有一个要求,其中我需要通过查询系统表或存储过程或其他方式获取给定表名的表的create-table脚本。任何帮助实现这一需求的人都非常感谢。谢谢。
答案 0 :(得分:9)
获取表的表定义的最简单方法是使用EXPORT_TABLES()
。此函数允许范围的多个对象。
您可以编写导出语句的脚本并在脚本中执行它,例如:
SELECT 'SELECT EXPORT_TABLES('''', ''' || table_schema || '.' || table_name || ''');' FROM v_catalog.tables;
或者,您可以使用以下方式汇总到架构级别:
SELECT EXPORT_TABLES('', 'schema');
不同之处在于EXPORT_TABLES
不会为与表关联的任何投影生成定义。如果您需要包含表格定义的投影,请使用EXPORT_OBJECTS
。