यदि आप थोड़ी अलग चेक बाधा के साथ रह सकते हैं, तो आप निम्न कार्य कर सकते हैं:
मानों की जांच करने वाला फ़ंक्शन बनाएं:
create function check_zone(p_input text)
returns boolean
as
$$
declare
l_allowed text[] := array['Marine', 'Terrestrial'];
begin
if p_input = any(l_allowed) then
return true;
end if;
raise 'The only allowed values are: %', array_to_string(l_allowed, ', ');
end;
$$
language plpgsql
immutable;
और फिर IN कंडीशन के बजाय उस फ़ंक्शन का उपयोग करें:
create table data
(
management_zone text not null,
CONSTRAINT check_zone CHECK (check_zone(management_zone))
);
निम्नलिखित सम्मिलित करें
insert into data values ('foo');
इसका परिणाम होगा: