在postgresql查询中多次使用单个WITH

时间:2015-05-27 15:58:59

标签: sql postgresql common-table-expression

如何多次使用my first with statement? 使用下面的代码,我不能将它用于任何其他语句,而不是紧随其后的语句。

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;

我在第19行遇到sql错误,接近第二行" FROM insertuser"在代码中。

1 个答案:

答案 0 :(得分:1)

我认为你可以使用一系列常用的表格表达式:

RETURNING

我不能100%确定CTE是否需要GamePic.setBackgroundResource(Resources2.GamePicArray[position]); 条款。