ホームページ > データベース > mysql チュートリアル > SQL クエリの結果を変数に割り当てるにはどうすればよいですか?

SQL クエリの結果を変数に割り当てるにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-05 16:56:42
オリジナル
153 人が閲覧しました

How Can I Assign SQL Query Results to Variables?

クエリ結果の SQL 変数への代入

提供された構文を使用して SQL の変数に exec 呼び出しの結果を代入することはできません。ただし、ストアド プロシージャからデータを取得したり、クエリを実行したりするには、別の方法もあります。

出力パラメータ

ストアド プロシージャから 1 つの値を取得する必要がある場合は、出力パラメータを使用できます。出力パラメーターは、ストアド プロシージャに渡され、プロシージャ内で変更される変数です。変更された値は、呼び出し元のコードに返されます。

例:

2 つのパラメーターを受け取り、DATE 値を出力パラメーターに割り当てる次のストアド プロシージャについて考えてみましょう。

CREATE PROCEDURE up_GetBusinessDay 
(
    @Date Date,
    @Offset Int,
    @NextBusinessDay Date OUTPUT
)
AS
BEGIN
    -- Code to calculate the NextBusinessDay 
    SET @NextBusinessDay = '2023-03-15'
END
GO
ログイン後にコピー

コードからこのストアド プロシージャを呼び出し、出力パラメータを指定できます変数:

DECLARE @NextBusinessDay DATE;

EXEC up_GetBusinessDay @Date = '2023-03-08', @Offset = -1, @NextBusinessDay OUTPUT;

SELECT @NextBusinessDay;
ログイン後にコピー

これにより、ストアド プロシージャで計算された DATE 値が @NextBusinessDay 変数に返されます。

戻り値

別のオプション戻り値を使用して、ストアド プロシージャまたはクエリの成功または失敗を示すことです。戻り値は、呼び出しコードに返される単一の整数値です。

例:

次のストアド プロシージャは、入力値が次の場合に戻り値 1 を返します。 5 より大きい場合、0 を返します:

CREATE PROCEDURE YourProcedure 
(
    @Param Int
)
AS
BEGIN
    IF @Param > 5
        RETURN 1;
    ELSE
        RETURN 0;
END
GO
ログイン後にコピー

エラー処理を使用してコード内で戻り値を処理できます。メカニズム。

以上がSQL クエリの結果を変数に割り当てるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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