使用查询在HP Vertica中获取表的创建-SQL

Nis*_*ddy 3 sql vertica

我正在使用HP Vertica数据库引擎.在数据库中创建了一些表.我有一个要求,其中我需要通过查询系统表或存储过程或其他方式获取给定表名的表的create-table脚本.任何帮助实现这一需求的人都非常感谢.谢谢.

Ker*_*mit 10

获取表的表定义的最简单方法是使用EXPORT_TABLES().此函数允许范围的多个对象.

您可以编写导出语句的脚本并在脚本中执行它,例如:

SELECT 'SELECT EXPORT_TABLES('''', ''' || table_schema || '.' || table_name || ''');' FROM v_catalog.tables;
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用以下方式汇总到架构级别:

SELECT EXPORT_TABLES('', 'schema');
Run Code Online (Sandbox Code Playgroud)

区别在于EXPORT_TABLES不会为与表关联的任何投影产生定义.如果需要具有表定义的投影,请使用EXPORT_OBJECTS.