我想在for循环中创建四个数据库。但是,我遇到了一个错误。你能帮我解决这个问题吗?
DO $$
BEGIN
FOR counter IN 1..2 LOOP
CREATE DATABASE 'database_name_%', counter;
END LOOP;
END; $$
ERROR: syntax error at or near "'Counter: %'" LINE 4: CREATE DATABASE 'Counter: %', counter;
来自 CREATE DATABASE
命令的文档:
创建数据库不能在事务块内执行。
自从:
PostgreSQL实际上将每个SQL语句视为在事务中执行。如果不发出 BEGIN 命令,则每个单独的语句都有一个隐式 BEGIN 和(如果成功(COMMIT 环绕。由 BEGIN 和 COMMIT 包围的一组语句有时称为事务块
不能在函数中创建数据库。因此,即使您可以处理当前的问题,也无法执行此功能。