程序中的postgresql select查询不适用于动态值

时间:2014-08-24 19:51:45

标签: sql postgresql

我是postgresql程序的新手。我正在尝试创建以下功能:

CREATE OR REPLACE FUNCTION test() RETURNS void AS $$
    DECLARE

        server1 varchar(200);
        server2 varchar(200);
    BEGIN
        select substr(server,0,3) into server1 from traveler_data where userid='123abc';
        select server into server2 from traveler_server_details where geagraphy='India' and server ilike '%server1%' ;
        update email_automation set serverurl_abc=server2 where userid='123abc';
      insert into email_automation values('1245',server1,server2);
return;
      END;
$$ LANGUAGE plpgsql;

我面临的问题是更新和插入工作正常与server1动态值,我从第一个选择语句得到。但是第二个select语句没有返回server1值与server1动态值。它返回null .Due to that我无法更新或插入server2值。任何帮助都会得到满足。

1 个答案:

答案 0 :(得分:0)

server ilike '%server1%'在该列中查找值server1,而不是存储在变量中的值

你想要

server ilike '%'||server1||'%'