パラメータを使用して特定の列を更新するストアドプロシージャを開発しています。例えばストアドプロシージャをパラメータごとに更新する
:
CREATE PROCEDURE save_proc
(
@userid varchar(5),
@column varchar(10),
@data varchar(50)
)
AS
BEGIN
UPDATE MyProfile
SET @column = @data
WHERE userid = @userid
次は私が試したが、うまくいきませんでした私のコードです。パラメータを使用して特定の列を更新することによって、このような更新を行うことは可能ですか?ありがとう
探しているものであることは思えます? – ydoow
いいえ、その構文(列名ではなく変数)は無効です。代わりに、動的SQLを使用することができます(更新ステートメントを文字列として作成して実行する)。このSQL Serverやその他の製品ですか? – Blorgbeard
Blorgbeard氏によると、動的SQL(重大な欠点、特にハッキングされる脆弱性があるかもしれない)を使用する必要があります。 http://stackoverflow.com/questions/12846743/dynamic-update-statement-with-variable-column-names?answertab=active#tab-top –