【发布时间】:2015-05-27 15:58:58
【问题描述】:
如何多次使用我的第一个 with 语句? 使用下面这样的代码,除了紧随其后的语句之外,我不能将其用于任何其他语句。
WITH insertuser AS (
INSERT INTO
zorro.user (username, firstname, lastname,
accountstatus, roles, creationdatetime)
VALUES('test', 'test', 'test',
'test', 'test', current_timestamp)
RETURNING id
)
INSERT INTO
zorro.email (address, confirmed, count, user_id)
SELECT 'test', false, 1, id
FROM insertuser;
INSERT INTO
zorro.password (hash, count, user_id)
SELECT 'test', 1, id
FROM insertuser;
INSERT INTO
zorro.phone_number (number, confirmed, count, user_id)
SELECT 'test', false, 1, id
FROM insertuser;
INSERT INTO
zorro.Question (text, answer, count, user_id)
SELECT 'test', 'test', 1, id
FROM insertuser;
我在代码中的第二个“FROM insertuser”附近的第 19 行遇到 sql 错误。
【问题讨论】:
-
抛出什么错误?
-
公用表表达式只对一个查询有效。
-
您可以将结果保存到临时表中,然后重新使用临时表。
标签: sql postgresql common-table-expression