0

我有以下我想与 Postgres 一起使用的 SQL 查询

declare 
    _sql varchar varying(50);
    _whereClause varchar varying(50);
_whereClause:='and 1=1'

execute 'SELECT count(*) FROM test t WHERE 1=1' || _whereClause 

当我尝试执行上述查询时,它在第二行的 varchar 处给出错误。甚至需要一些时间来执行下面的简单命令

declare _sql varchar varying(50);

它给出了错误,但我不知道代码有什么问题。我什至试图用 Postgres SQL 官方网站来解决这个问题,当我尝试复制并运行那里给出的示例时,它没有执行。

我是 Postgres 的新手,我对 Postgres SQL 语法感到不走运。

4

1 回答 1

1

语法不正确,您应该使用VARCHAR(50)or CHARACTER VARYING(50), not VARCHAR VARYING(50)。例如。

DECLARE
    _sql VARCHAR(50);
    _whereClause VARCHAR(50);
于 2013-07-11T14:45:35.223 回答