Postgresql中存储过程中表alis的模式不存在

时间:2019-06-22 19:21:35

标签: postgresql stored-procedures postgresql-11

模式不存在“ tb”。对于tb.DOWName。此查询中有3个表。

存储过程:

CREATE OR REPLACE PROCEDURE MeetingList ( INT, INT, VARCHAR(25)) 
LANGUAGE plpgsql
AS $$
BEGIN   
    SELECT ListID,
    a.DOWID, 
    tb.DOWName 'Day',
    a.aTimeID,
    c.aTime 'Time',
    Town,
    GroupName,
    Information,Location,Type
    FROM list  a
    INNER JOIN dow tb ON a.DOWID = tb.DOWID
    INNER JOIN atime AS c ON a.aTimeID = c.aTimeId
    WHERE (a.DOWID = $1 OR $1 IS NULL)
    AND (a.aTimeID = $2 or $2 IS NULL)
    AND (Town = $3 or $3 IS NULL)
    ORDER BY a.DOWID,a.aTimeID, Town;
END;
$$;

查询结果:

deig=# CALL MeetingList(1,60,'Ellsworth');
ERROR:  schema "tb" does not exist
LINE 3: tb.DOWName 'Day',
        ^
QUERY:  SELECT ListID,
a.DOWID, 
public.tb.DOWName 'Day',
a.aTimeID,
c.aTime 'Time',
Town,
GroupName,
Information,Location,Type
FROM list  a
INNER JOIN dow tb ON a.DOWID = tb.DOWID
INNER JOIN atime AS c ON a.aTimeID = c.aTimeId
WHERE (a.DOWID = $1 OR $1 IS NULL)
AND (a.aTimeID = $2 or $2 IS NULL)
AND (Town = $3 or $3 IS NULL)
ORDER BY a.DOWID,a.aTimeID, Town
CONTEXT:  PL/pgSQL function meetinglist(integer,integer,character 

varying) line 3 at SQL statement

我正在使用数据库'deig'作为用户'bart'从psql运行此程序。有3个表:

 Schema | Name  | Type  |  Owner   
--------+-------+-------+----------
 public | atime | table | bart
 public | dow   | table | bart
 public | list  | table | bart```

我一直在SQL Express中使用此存储过程,但在Postgresql 11中没有成功。

1 个答案:

答案 0 :(得分:0)

Identifiers and aliases应该用PIXI.loader .add(path + "spritesheet.json") .load(this.setup); 而不是"

引用
'

db<>fiddle demo