PostgreSQL:在选择语句中可迭代的数据类型

时间:2018-08-28 20:14:53

标签: sql arrays

我正在尝试创建一个可迭代的变量以在select语句中使用。如果我对变量进行硬编码,则我的代码块可以正常工作:

DO
$$
DECLARE
  num integer;
BEGIN
  num := (select count(*) from event where event_status in ('pending', 'failed'));
  raise notice 'count here: %', num;
END;
$$

但是,如果我尝试从迭代中创建一个名为statuses的变量,则会收到一条错误消息,提示“数组或数组附近的语法错误”:

DO
$$
DECLARE
  statueses array := ('pending', 'failed');
  num integer;
BEGIN
  num := (select count(*) from event where event_status in statuses);
  raise notice 'count here: %', num;
END;
$$

我使用的数据类型错误吗?如何使它工作?注意我正在使用PostgreSQL。

0 个答案:

没有答案