私はDB2のテーブルには、次の列別のテーブルからPKを使用して、データベーステーブル内の複数のレコードを挿入する
organization_id (PK), name, description
一部の組織を含む組織のデータを保持している「organization
」は削除されていので、たくさんの「organization_id
」(行)もはや存在しないので、1,2,3,4,5のように連続していませんが、1,2,5,7,11,12,21のように続きます....
別のテーブル「title
」と他のデータがあり、organization
テーブルからorganization_id
があり、FK
となっています。
私はすべての組織のために挿入する必要があるいくつかのデータがあります。いくつかのタイトルは、それらのすべてがWebアプリケーションで表示される予定です。 合計で約3000レコードが追加されます。私は1つによってそれをいずれかを実行したい場合
それは次のようになります。
INSERT INTO title
(
name,
organization_id,
datetime_added,
added_by,
special_fl,
title_type_id
)
VALUES
(
'This is new title',
XXXX,
CURRENT TIMESTAMP,
1,
1,
1
);
XXXXは「organization_id
」を表し、私はテーブル「organization
」という挿入だけなので、既存のORGANIZATION_IDのためにそれをやるから得るべきです。 "organization_id
"のみが表 "organization
"から "organization_id
"に一致するように変更されています。
これを行うにはどうすればよいでしょうか? いくつかの同様の疑問点を確認しましたが、どれもこれと同じではありませんか? SQL Server 2008 Insert with WHILE LOOP ループ応答が連続IDにまたがっている間、他の応答はIDが自動インクリメントされているとも仮定します。
ここに同じ: How to use a SQL for loop to insert rows into database?
(質問自体は非常に明確ではないとして) Inserting a multiple records in a table with while loop
この上の任意のアドバイスこの1わかりませんか?私はどうすればいいのですか?
SQLでループしないでください。select文から挿入できます。 values()の代わりに、入力したいデータをリストするselect文を記述します。 IE:tbl(listcolumn)に挿入する(同じ列)tbl1から内部結合tbl2 tbl1.key = tbl2.key – Twelfth
どのようにorganization_idを識別しますか?あなたは組織のテーブルからそれを取得したいと言っていますが、join/relationshipはうまくいくorganization_idですが、それを調べるために何を使用しますか?組織名?おそらくいくつかのサンプルデータと期待される結果を提供しています。あなたが達成しようとしていることを理解するでしょう – Matt
@Matt Sample SQLはまさに私が持っているものです。 organization_idは両方のテーブルのPKです。1つの組織(組織)は組織のためのデータを保持するものであり、他にはユーザーがログインしたときに組織ごとに表示されるメッセージがあります。今はすべて同じメッセージ/タイルで作成する必要があります新しいタイトル ')。 –