2

我使用 postgresql 创建了一个函数。但是当我尝试执行它时,这个函数会返回错误。错误"ERROR: syntax error at or near "||"

CREATE OR REPLACE FUNCTION search_address_book(address_ids character)
  RETURNS void AS
$BODY$ 
SET sqlStatement = 'select * from addressbook';
SET address_ids = 'Post' || 'greSQL';
$BODY$
LANGUAGE 'sql' STABLE
COST 100;

我的服务器版本是 8.3.14。这是错的吗?如何在 postgresql 中连接两个字符串?

4

1 回答 1

6

要使用变量,您需要一个plpgsql函数:

CREATE OR REPLACE FUNCTION search_address_book(address_ids character)
  RETURNS void AS
$BODY$
declare
   sqlStatement text;
   address_ids text;
begin
   sqlStatement := 'select * from addressbook';
   address_ids := 'Post' || 'greSQL';
end
$BODY$
LANGUAGE plpgsql STABLE;
于 2013-01-10T12:44:08.493 回答