ホームページ > データベース > mysql チュートリアル > 式の結果を SQL Server ストアド プロシージャのパラメータとして渡す方法

式の結果を SQL Server ストアド プロシージャのパラメータとして渡す方法

Patricia Arquette
リリース: 2025-01-11 17:01:42
オリジナル
591 人が閲覧しました

How to Pass the Result of an Expression as a Parameter in a SQL Server Stored Procedure?

式の結果を SQL Server ストアド プロシージャのパラメータとして渡す

開発者は、データベース開発を改善することを目的として、ストアド プロシージャを実行しようとしたときにエラーが発生しました。このエラーは、式の結果 (具体的には、文字列「指定された ID が見つかりませんでした:」と整数変数 @pID の値の連結) を引数リストに直接渡そうとしたときに発生します。

ただし、SQL Server はパラメーター リスト自体でそのような操作をサポートしていません。代わりに、式の結果を引数に渡す前に、中間変数を使用して式の結果を保持する必要があります。

EXEC の構文では、パラメーター部分の「値」の形式が明示的に指定されておらず、単純な式のみが受け入れられることが示されています。これらの式はリテラル値と @@ の接頭辞が付いた一部のシステム関数に限定されます。他のシステム関数は、かっこを必要としない関数であっても使用できません。

したがって、このエラーを解決するには、開発者は次の構文を使用する必要があります:

<code class="language-sql">DECLARE @pID INT;

SET @pID = 1;

/*如果使用2008及以上版本,之前的版本需要分成两个单独的语句*/
DECLARE @string VARCHAR(50) = 'Could not find given id: ' + CAST(@pID AS VARCHAR(11));

EXEC WriteLog
  'Component',
  'Source',
  @string;</code>
ログイン後にコピー

以上が式の結果を SQL Server ストアド プロシージャのパラメータとして渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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