2013-07-11 68 views
0

我有以下,我想,當我試圖執行上面的查詢它在第二行VARCHAR給出錯誤在Postgres需要幫助審查PostgreSQL的查詢

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

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

使用SQL查詢。 甚至像下面

declare _sql varchar varying(50); 

它給錯誤,但我不知道什麼是錯的代碼一段時間簡單的命令。 我甚至試圖找出與Postgres SQL offcial網站,當我試圖複製和運行示例在那裏它沒有執行。

我是新來的Pos​​tgres,我感覺運氣不好,Postgres SQL語法。

回答

1

語法不正確,您應該使用VARCHAR(50)CHARACTER VARYING(50)而不是VARCHAR VARYING(50)。例如,

DECLARE 
    _sql VARCHAR(50); 
    _whereClause VARCHAR(50);