2017-03-13 97 views
1

SQL Serverを使用しています。テーブルがあります。 id列が主キーです。私はいくつかのid値をカンマ区切りの文字列としてストアドプロシージャに送ります(例:1,2,3,4)。私は2つの列を文字列値 'A'に更新する必要があります。誰も私にストアドプロシージャ内の複数の値を処理する方法の例を教えてください?ストアドプロシージャへのカンマ区切り文字列

+0

データベースの互換性レベルが130以上でない場合は、SELECT Value FROM STRING_SPLIT(id、 '、') ' – Pream

+0

@Pream:SQLServer 2016を使用している場合のみ – TheGameiswar

答えて

0

これはさまざまな方法で実行できます。次のいずれかになります。

declare @myQuery as char(100) = 'update myTable set ColumnA = ''A'', ColumnB = ''A'' where Id in (' + @myParameterString +')' 
execute(@myQuery) 

注:

UPDATE dbo.YourTable 
SET ColumnA = 'A' 
WHERE 
    ',' + '1,2,3,4' + ',' LIKE '%,' + CAST(Id AS VARCHAR(100)) + ',%' 

あなたは文字列の更新を作成し、それを実行することができますsp_executesql

0

でそれを行うことができ、あなたが持っているT-SQLに単一引用符をエスケープします2つの一重引用符を入力します( '' A ''など)。

関連する問題