WITH d(t, e) AS ( VALUES (‘abcdefg’, ‘2014-05-14 20:25:12.279667’)), t AS (SELECT token FROM session, d WHERE token=t), i AS (INSERT INTO session (token, expiry) SELECT t, e FROM d WHERE t NOT IN (SELECT token FROM t)) SELECT t,e FROM d WHERE t IN (SELECT token FROM t);
查询首先使用您要插入的数据进行CTE
然后,它使用会话中的令牌与 *
然后,如果它在 ***
最后,如果在 t中* 有匹配项,则从 返回行。 *
顺便说一句,这也适用于多行。