私は必要な特定の列の値を含む文字列を受け取り、各値ごとに1つの行を挿入するストアドプロシージャを作成しようとしています"、"によって。例えば特定の列を含む文字列からSQL ServerでINSERTを実行する方法
:でながら
--The string I mentioned
@Objectid = '15, 21, 23, 53'.
--Then I wish to insert those values into a table like for instance
#Result(ID bigint, AppID bigint, ObjectID bigint)
だから、私は、そのテーブルに挿入を行い、#Resultの異なる行に及び カラムのObjectIDの各@Objectidの 値を配置することを望みました同時に、他の列を の値で埋めると、同じストアドプロシージャの変数に格納されます。これを行う方法はありますか?もしそうなら、カーソルを使わずにこれを行う方法がありますか?
(カンマでdelimetedときなど)の文字列を分割するには、SQLの方法がありますprocの –
に渡す前に、コード内のテーブル値パラメーターとスプリットを使用するには、 - ([既存のQ&A]を見てくださいhttp://stackoverflow.com/search?q=%23sql-server+split+a+string)。しかし、事前にあなたのIDを分けることができれば、はるかに良いでしょう。 'CURSOR'は必要ありませんが、おそらく' INSERT'文を複数回実行するためには 'WHILE'ループを使う必要があります。あなたのソースシステムは何ですか(つまり、Idのリストはどのように取得しますか)。 – Serge
どのバージョンのSQL Server? 2016年に使用できるSTRING_SPLIT関数があります – Kostis