ホームページ > データベース > mysql チュートリアル > OPENROWSET クエリで動的パラメータを処理するにはどうすればよいですか?

OPENROWSET クエリで動的パラメータを処理するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-04 01:04:40
オリジナル
226 人が閲覧しました

How to Handle Dynamic Parameters in OPENROWSET Queries?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート