使用一个SQL查询插入数据

时间:2016-06-08 19:37:16

标签: sql postgresql postgresql-9.3 postgresql-9.4

我使用这些表来存储用户凭据和角色:

CREATE TABLE ACCOUNT(
 ID INTEGER NOT NULL,
 USER_NAME TEXT NOT NULL
)
;     

ALTER TABLE ACCOUNT ADD CONSTRAINT KEY1 PRIMARY KEY (ID)
;    

CREATE TABLE ACCOUNT_ROLE(
 ID INTEGER NOT NULL,
 USER_NAME TEXT NOT NULL
)
;    

CREATE INDEX IX_RELATIONSHIP19 ON ACCOUNT_ROLE (ID)
;

ALTER TABLE ACCOUNT_ROLE ADD CONSTRAINT KEY26 PRIMARY KEY (ID)
;

如您所见,我对两个表使用相同的ID。如何只使用一个SQL查询将数据插入到这些表中?

1 个答案:

答案 0 :(得分:1)

您可以使用with statement,例如:

with insert_into_account as (
    insert into account values (1, 'John Doe')
    )
insert into account_role values (1, 'John Doe');

请注意,索引ix_relationship19是多余的,因为主键会创建唯一索引。