我有功能检查强制参与如下:
CREATE FUNCTION member_in_has_address()
RETURNS BOOLEAN AS $$
BEGIN
RETURN EXISTS (SELECT *
FROM address a, member_details b
WHERE b.member_id = a.member_id);
END;
$$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
然后从CHECK约束调用
ALTER TABLE member_details
ADD CONSTRAINT member_in_has_address_check
CHECK (member_in_has_address());
Run Code Online (Sandbox Code Playgroud)
要在标准SQL中创建deferred约束,它将是:
ALTER TABLE member_details
ADD CONSTRAINT member_in_has_address_check
INITIALLY DEFERRED
CHECK (member_in_has_address());
Run Code Online (Sandbox Code Playgroud)
我怎么能在PostgreSQL中做同样的事情?