2016-07-19 3 views
0

フィールド内のすべての値を元の値と同じ長さのXで置き換えるSQLプロシージャを作成しました。実行時にSQLストアドプロシージャ、パスフィールド、テーブル名パラメータ

Update Table 
Set  Name = Replicate('x', Len(Name)) 

私は、私はちょうど私が新しいフィールドを渡したいたびに実行する代わりに、ストアドプロシージャの編集上のパラメータとして、テーブルとフィールド名を渡すことができるように、この手順を変更しようとしています。これを行う方法はありますか? EXEC(@sqlCommand):

Exec MyProcedure ‘Users’, ‘Email’ 
+0

これは動的SQLを使用するストアドプロシージャで実行できますが、危険です。より安全で信頼性の高いオプションを提案できるよう、ここで実際に何をしようとしているのかを説明したいと思うかもしれません。 – RBarryYoung

+0

ご返信ありがとうございます。そうです、このような手続きは危険ですが、テストDBでのみ実行され、チェックを入れてこれを保証します。どのように私は動的SQLでこれを行うことができますか? – Cat4Storm

答えて

0

あなたはこのようなSQL文を実行するためにEXECを使用することができます。

これは私が別のフィールドの値をxにしたいときに実行されるステートメントは次のようになるはずだと思うものです。 SqlCommandは、受信したパラメータに基づいて作成された文字列です。

また、別のオプションは、sp_executesqlを使用して文を実行することです。

関連する問題