postgresql-如何使用游标或select语句生成多个DML语句
postgres的新手,我正在使用Postgresql 9.3。postgresql有没有办法生成包含多个DML语句的文件 例如,我想在tablename中选择tablename,比如postgresql-如何使用游标或select语句生成多个DML语句,postgresql,postgresql-9.3,Postgresql,Postgresql 9.3,postgres的新手,我正在使用Postgresql 9.3。postgresql有没有办法生成包含多个DML语句的文件 例如,我想在tablename中选择tablename,比如“u foo%”,然后将所有这些表重命名为“u bar%”。我是否需要在光标中执行此操作,还是可以在select语句中执行此操作?(就像甲骨文) 我想把它们打印到一个.sql文件中 如果可能,请提供一个基本示例。谢谢。您可以使用psql和系统视图。将输出设置为未对齐模式: \a 将输出设置为仅显示行: \t on
“u foo%”
,然后将所有这些表重命名为“u bar%”
。我是否需要在光标中执行此操作,还是可以在select语句中执行此操作?(就像甲骨文)
我想把它们打印到一个.sql文件中
如果可能,请提供一个基本示例。谢谢。您可以使用psql和系统视图。将输出设置为未对齐模式:
\a
将输出设置为仅显示行:
\t on
将输出发送到您的文件:
\o yourfile.sql
运行查询:
SELECT 'ALTER TABLE RENAME ' || tablename || ' TO ' ||
REGEXP_REPLACE ( tablename, '_foo$', '_bar' ) || ';'
FROM pg_tables
WHERE tablename LIKE '%_foo';
关闭文件:
\o
和/或关闭psql:
\q
完美的这就是我想要的。谢谢
\q