我有一个触发功能。
我想检查status
是否是(5,6,4,7)
CREATE OR REPLACE FUNCTION a()
RETURNS trigger AS
$BODY$
begin
if old.status = (5,6,4,7) then
do something.
end if;
return old;
end;
$BODY$
LANGUAGE plpgsql VOLATILE
如何将其更改为正确的语法?
答案 0 :(得分:4)
使用IN
运算符:
...
if old.status IN (5,6,4,7) then
do something.
end if;
...
答案 1 :(得分:0)
它只适用于postgresql 9.x
CREATE OR REPLACE FUNCTION a()
RETURNS trigger AS
$BODY$
begin
if old.status = ANY (VALUES (5),(6),(4),(7))) then
do something.
end if;
return old;
end;
$BODY$
LANGUAGE plpgsql VOLATILE