ホームページ >データベース >mysql チュートリアル >OPENROWSET クエリで動的パラメータを処理するにはどうすればよいですか?
変数を組み込んだ OPENROWSET クエリを利用しようとすると、多くの人が「' ' 付近の不正な構文」に関する一般的なエラーに遭遇します。この問題を解決するには、OPENROWSET クエリの変数に関連する制限を理解することが不可欠です。
他のデータベース関数とは対照的に、OPENROWSET では引数内に式や変数を直接含めることができません。これは、変数を使用して OPENROWSET ステートメントを動的に構築できないことを意味します。
この制限を回避するには、OPENROWSET ステートメントを動的に構築する動的 SQL 文字列を作成するのが適切な戦略です。この文字列は、EXEC ステートメントを使用して実行できます。以下に図を示します。
Declare @ID int Declare @sql nvarchar(max) Set @ID=1 Set @sql='SELECT * FROM OPENROWSET( ''SQLNCLI'', ''DRIVER={SQL Server};'', ''EXEC dbo.usp_SO @ID =' + convert(varchar(10),@ID) + ''')' -- Print @sql Exec(@sql)
この例では、提供されたパラメータ「@ID」に基づいて動的 SQL 文字列「@sql」が構築されます。その後、EXEC ステートメントはこの動的 SQL 文字列を実行し、指定されたパラメーター値を使用して目的の OPENROWSET クエリを効果的に実行します。
以上がOPENROWSET クエリで動的パラメータを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。