我有以下SQL查询,我想与Postgres一起使用
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语法感到不走运。
答案 0 :(得分:1)
语法不正确,您应该使用VARCHAR(50)
或CHARACTER VARYING(50)
,而不是VARCHAR VARYING(50)
。
例如
DECLARE
_sql VARCHAR(50);
_whereClause VARCHAR(50);