【问题标题】:How to execute the string returned from Format function PostgreSQL如何执行从 Format 函数 PostgreSQL 返回的字符串
【发布时间】:2021-12-30 03:04:28
【问题描述】:

我正在尝试在 PostgreSQL 中运行这个 sql 字符串(将从 format 函数返回的 sql 命令)

execute format('CREATE USER %I PASSWORD %L', 'test1', 'test1');

但收到错误:

ERROR:  prepared statement "format" does not exist
SQL state: 26000

如何执行返回的 SQL?

【问题讨论】:

  • 您正试图将其作为普通 SQL 执行,这当然意味着您不能 - 它正在尝试执行准备好的语句。 “EXECUTE”是一个 pl/pgsql 命令。所有这些都在在线手册中进行了详尽的介绍,我建议您至少花半个小时熟悉它们的布局。

标签: postgresql psql


【解决方案1】:
DO
$$
BEGIN
EXECUTE format('CREATE USER %I PASSWORD %L', 'test1', 'test1');
END;
$$

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 2010-12-23
    • 2016-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多