テーブルAの主キー列の値をテーブルBの非主キー列の列に挿入しようとしています。可能ですか。
ありがとう
データがターゲット列に(タイプごとに)収まる限り、はい。
もちろん、あるテーブルの値を別のテーブルの値に挿入することは可能です。あなたの質問から、あなたが何を達成しようとしているのかは本当に明確ではありませんが、あるテーブルから別のテーブルに(キーであるかどうかに関係なく)挿入することができます:
INSERT INTO Table (Column)
SELECT Id FROM AnotherTable;
主キーについて言及しているので、挿入したばかりの自動インクリメントIDを読み取ろうとしている可能性があります。そうすれば、SCOPE_IDENTITY()を使用して読み取ることができます。
INSERT INTO Table (Column)
SELECT SCOPE_IDENTITY()
ターゲットテーブルのID列に反対の制約がない限り、問題は発生しません。テーブルがすでに存在する場合でも、上記のコードに列名を追加する必要があります。
マック
列のタイプが一致する限り、それはあなたがそうあるべきだと思うのと同じくらい簡単です。PKが1つの列のみをカバーしていることを意味していると思います。
INSERT INTO TableB (destinationColumn)
SELECT pkcolumn
FROM TableA