2
CREATE OR REPLACE FUNCTION my_validate_func(obj JSON)
RETURNS BOOLEAN AS $$
  return true;
$$ LANGUAGE plv8;

CREATE TABLE tbl (col1 TEXT, col2 INTEGER)
CHECK (my_validate_func(row_to_json(*))); -- syntax error :(

トリガーの代わりに制約を使用して、行全体に対して独自の検証関数を呼び出したいのCHECKですが、可能ですか?

4

2 に答える 2

2
CREATE TABLE tbl (
  col1 TEXT,
  col2 INTEGER,
  CHECK ( my_validate_func(row_to_json(tbl.*)))
); 

DDLエラーは発生しません:)

于 2015-05-19T12:04:36.617 に答える