sql >> データベース >  >> RDS >> Sqlserver

ストアドプロシージャ-IDを出力パラメータまたはスカラーとして返します

    もう1つのオプションは、ストアドプロシージャの戻り値です(ただし、通常はエラー値に最適なので、これはお勧めしません)。

    ストアドプロシージャが他のSQLプロシージャと、OUTPUTパラメータ(.NETのIBATIS)で動作できないフロントエンドの両方で消費されている場合に単一の行を挿入する場合の両方として含めました:

    CREATE PROCEDURE My_Insert
        @col1            VARCHAR(20),
        @new_identity    INT    OUTPUT
    AS
    BEGIN
        SET NOCOUNT ON
    
        INSERT INTO My_Table (col1)
        VALUES (@col1)
    
        SELECT @new_identity = SCOPE_IDENTITY()
    
        SELECT @new_identity AS id
    
        RETURN
    END
    

    他のストアドプロシージャIMOから呼び出す場合、T-SQLでの出力パラメータの操作は簡単ですが、一部のプログラミング言語では出力パラメータのサポートが不十分またはサポートされておらず、結果セットでより適切に機能します。



    1. MariaDBでのSYS_GUID()のしくみ

    2. DBアプリケーションでのデータマスキング

    3. クエリ内でDML操作を実行できない解決策はありますか?

    4. Rails4の移行でカスタム主キーを設定する際の問題