2

我正在开发一个 Django 应用程序并创建了一个新表tblA,该表有一个外键链接到tblB.

现在tblB已经有几个条目(因此已经有几个主键)。

我想运行一个 SQL 查询,该查询将为tblA内部的每个主键创建一个新行,tblB并复制相应的外键并将所有其他列的默认值tblB插入行中。

我希望我足够清楚!

4

1 回答 1

0

你忘了粘贴你的表格结构..我正在考虑如下 -

tblA(aCol1_PK(主键),acol2_desc(描述))

截至目前,仅以两列为例。

现在对于表 B

tblB ( bCol1, bCol2, bCol3_FK (外键) )

现在假设您有默认值 -

bCol1 - “B_Col1_default_val” bcol2 - “B_Col2_default_val”

对于这种情况,如果您想从表 A 中插入表 B 中不存在的 p_key 行,您可以尝试以下查询 -

insert into tblB(col1,col2,col3) 
 ( select 'b_col_default_val','b_col_default_val', acol1_pk 
     from tbla a 
    where a.acol1_pk not in ( select b.bcol3_fk from tblb b))

如果要为表 A 中存在的所有主键值插入一行,则 -

insert into tblB(col1,col2,col3) 
 ( select 'b_col_default_val','b_col_default_val', acol1_pk 
     from tbla a )

我希望它会对您有所帮助..如果您需要任何澄清,您可以询问/评论。

于 2012-07-09T20:50:05.670 回答