错误:INTO在“INTO”或附近指定了多次

时间:2013-09-14 15:59:48

标签: postgresql

在postgresql函数中我试图将从表中选择的两个值分成两个变量,但是我收到了这个错误:

INTO specified more than once at or near "INTO"

这是(伪)代码:

CREATE OR REPLACE FUNCTION func() RETURNS TRIGGER AS
$$ 
DECLARE
    a numeric;
    b varchar(20);
    c numeric;
BEGIN
    IF ... THEN
        ...

        SELECT x INTO a FROM t1 WHERE y = 1

        IF a > 5 THEN
            SELECT m, n INTO b, c FROM t2 WHERE ...;
            ...
        END IF;
    END IF;
END
$$ LANGUAGE plpgsql;

1 个答案:

答案 0 :(得分:13)

......几分钟后我发现问题只是(一如既往)缺少分号。

INTO specified more than once错误是从第二个SELECT语句生成的(当它找到第二个INTO时)并且它没有提示在何处找到问题;所以我决定把它放在这里,因为我没有在网上找到关于这个错误的任何内容。


修改

只需在第一个SELECT语句中添加缺少的分号

...

    SELECT x INTO a FROM t1 WHERE y = 1; #missing semicolon

    IF a > 5 THEN
        SELECT m, n INTO b ...;
...