使用一个 SQL 查询插入数据

Insert data with one SQL query

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

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 查询将数据插入这些表?

您可以使用with statement,例如:

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

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