如何将参数值添加到 pgadmin sql 查询?

How to add parameter values to pgadmin sql query?

在 pgadmin3 中,我想使用参数化查询(为了加快调试速度,只需从我的 php 文件中复制并粘贴查询)。但我还没有找到添加 </code>、<code>... 参数值的选项。可能吗?

这是我在循环中构建的查询,遵循 here:

的 NULL 测试建议
SELECT EXISTS(SELECT 1
              FROM tax
              WHERE (addby= or addby<>)
                    AND (adddate= or adddate<>)
                    AND ( IS NULL AND nome IS NULL OR nome=)
                    AND ( IS NULL AND rank IS NULL OR rank=)
                    AND ( IS NULL AND pai IS NULL OR pai=)
                    AND ( IS NULL AND valido IS NULL OR valido=)
                    AND ( IS NULL AND sinonvalid IS NULL OR sinonvalid=)
                    AND ( IS NULL AND espec IS NULL OR espec=)
                    AND ( IS NULL AND public IS NULL OR public=)
       );

请注意,手动替换所有参数是乏味的、容易出错的,而且可能(我希望)没有必要。

提前致谢。

我只知道两个方法

首先是使用PREPARED STATEMENT(PostgreSQL手册后的例子):

PREPARE usrrptplan (int) AS
    SELECT * FROM users u, logs l
    WHERE u.usrid= AND u.usrid=l.usrid AND l.date = ;

EXECUTE usrrptplan(1, current_date);

PREPARE creates a prepared statement. When the PREPARE statement is executed, the specified statement is parsed, analyzed, and rewritten. When an EXECUTE command is subsequently issued, the prepared statement is planned and executed.

Prepared statements can take parameters: values that are substituted into the statement when it is executed. When creating the prepared statement, refer to parameters by position, using , , etc.

Prepared statements only last for the duration of the current database session. When the session ends, the prepared statement is forgotten, so it must be recreated before being used again.

其次是 "find-and-replace" </code>, <code>, .. 等等。但是你想避免这个。

在 DBeaver 中,您可以像在代码中一样在查询中使用参数,所以这会起作用:

select * from accounts where id = :accountId

当您 运行 查询时,DBeaver 将询问您 :accountId 的值和 运行 查询。