クエリ自体を作成する必要がないexecで変数値を使用したいと思います。データベースのフィールドにクエリを格納し、そのストアドプロシージャのパラメータを使用してクエリを実行したいと思います。以下の例では、2つの変数を宣言しました。@ ValueVariableはストアドプロシージャのパラメーターであり、@ QueryStringを宣言したものはデータベースから読み取るものであり、@ValueVariableの値を使用して実行します。
DECLARE @ValueVariable int=0
@QueryString VARCHAR(MAX)=
'SELECT UserName FROM TableUser WHERE UserId=@ValueVariable'
EXEC(@QueryString)
それを実行しようとすると、エラーが発生します'SELECT UserName FROM TableUser WHERE UserId =@ValueVariable'の近くの構文が正しくありません
私はそれができることを知っています
@QueryString VARCHAR(MAX)=
'SELECT UserName FROM TableUser WHERE UserId='+@ValueVariable
しかし、私は上記のようにそれを使いたいです。プロシージャでクエリを実行するのではなく、DBから取得した文字列のように変数値を使用します。
したがって、現在の環境で変数の値を使用してそれを実行できる方法はありますか。