2012-07-09 91 views
2

我正在研究Django應用程序,並創建了一個新表tblA,它具有鏈接到tblB主鍵的外鍵。使用來自其他表主鍵的所有外鍵填充表

現在tblB已經有幾個條目(因此已經有幾個主鍵)。

我想運行的SQL查詢,將創建一個新行內tblBtblA每一個主鍵與對應的外鍵插入行中tblB所有其他列的複製和默認值。

我希望我已經夠清楚了!

+0

這可能會回答你的問題。 。 。 http://stackoverflow.com/questions/11397273/how-to-minimize-number-of-queries-when-adding-updating-a-row-in-a-table-with-for/11397510#11397510。 – 2012-07-09 20:36:32

回答

0

你已經忘了貼你的表結構。我正在考慮爲如下─

TBLA ( aCol1_PK(主鍵), acol2_desc(介紹) )

截至目前只取只有兩列的例子。

現在對於表B中

TBLB ( bCol1, bCol2, bCol3_FK(外鍵) )

現在讓我們假設你有默認值 -

bCol1 - 「B_Col1_default_val 「 bcol2 - 」B_Col2_default_val「

對於這種情況,如果你想插入ERT行從表p_key的值A,A是不存在於表B,你可以試試下面的查詢 -

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)) 

如果你想插入一行對所有的主鍵出現在表格中的那麼值 -

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

我希望它能幫到你.. 如果你需要任何澄清你可以問/評論。

相關問題