2

私は Django アプリケーションに取り組んでおりtblA、主キーにリンクされた外部キーを持つ新しいテーブルを作成しましたtblB

現在、tblBすでにいくつかのエントリがあります(したがって、すでにいくつかの主キーがあります)。

tblA内部の主キーごとに新しい行を作成tblBし、対応する外部キーをコピーし、他のすべての列のデフォルト値をtblB行に挿入する SQL クエリを実行したいと考えています。

私は十分に明確だったと思います!

4

1 に答える 1

0

テーブル構造を貼り付けるのを忘れました..私は以下のように考えています-

tblA ( aCol1_PK (主キー), acol2_desc (説明) )

現時点では、2 つの列のみの例を取り上げます。

さて、テーブルB

tblB ( bCol1, bCol2, bCol3_FK (外部キー) )

ここで、デフォルト値が次のようになっているとしましょう-

bCol1 - "B_Col1_default_val" bcol2 - "B_Col2_default_val"

この状況で、テーブル B に存在しないテーブル A から 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に存在するすべての主キー値に対して1行を挿入する場合-

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 に答える