CREATE FUNCTION f (a int) RETURNS int; RETURN a+1; END FUNCTION; CREATE TABLE tab1 (x SET(INT NOT NULL)); INSERT INTO tab1 VALUES ( SET{10, 1+2+3, f(10)-f(2), SQRT(100) +POW(2,3), (SELECT tabid FROM systables WHERE tabname = 'sysusers'), 'T'::BOOLEAN::INT} ); SELECT * FROM tab1 WHERE x=SET{10, 1+2+3, f(10)-f(2), SQRT(100) +POW(2,3), (SELECT tabid FROM systables WHERE tabname = 'sysusers'), 'T'::BOOLEAN::INT} };
这假设存在从 BOOLEAN 到 INT 的强制转型。(要了解对指定集合值的更限制性的语法,请参阅 文字的集合。)