他のテーブルから挿入する方法を知っていますが、私の問題は少し複雑です。私は以下のようなテーブルを持っています。SQL Server:別のテーブルからテーブルを選択して挿入する
表1:
Col1 | Col2 | Col3 | ..... | Col20
表2:
Col1 | Col2 | Col3 | ..... | Col20
両方のテーブルが同一です。私がしたいのは、表1のすべての値を表2に挿入することですが、1つの列を残すだけです(Col20など)。カスタム値でその列を挿入したいと思います。私は以下のように1対1の列をマッピングすることでこれを行うことができます。
Insert into table1(Col1, Col2, ..., Col20)
select Col1, Col2, ..., @customvalue
from table2
私はこの方法で行っているだろうが、私はそのストアドプロシージャが長い作り、このクエリを複数の時間内のストアドプロシージャを使用する必要があります。しかし、私はこのクエリを短縮したいです。他に良い方法はありますか?
その挿入文をストアドプロシージャまたはudfにカプセル化し、必要な回数だけメインプロシージャを配置するだけで済みます。 insert ... selectを実行する良い方法はありません。 –
ストアドプロシージャのカプセル化という用語に慣れていません。私を理解するのに役立つ参考資料を私に提供できますか? @ Zohar – Amir
カプセル化は、この場合、単に挿入(ストアドプロシージャまたはこの場合はudf)を実行するメソッドを作成することを意味します。その後、毎回insert文を書くのではなく、そのメソッドを実行することができます。 –