使用一个 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
是多余的,因为主键创建唯一索引。
我使用这些表来存储用户凭据和角色:
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
是多余的,因为主键创建唯一索引。