returnがoutパラメータとして定義されていない場合でも、cfstoredprocを使用してストアドプロシージャのreturnにアクセスできますか?

Cmaso

Coldfusion cfstoredprocタグを使用して、戻り値にアクセスしたいストアドプロシージャがあります。ただし、戻り変数は、6つの「in」パラメーターとともにoutパラメーターとしてリストされていません。以下のプロシージャのコードを参照してください。

CREATE PROCEDURE [dbo].[sp_Hire_AddEVerifyEmpCloseCase]
(   
           @e_verify_id bigint
           ,@ClientSftwrVer varchar(30)=null
           ,@CaseNbr char(15)
           ,@CloseStatus varchar(50)
           ,@CurrentlyEmployed varchar(1)
           ,@submit_user_id int
           //THIS LINE IS MISSING: @EmpCloseCase_Id int OUTPUT
)
AS
BEGIN

    DECLARE @EmpCloseCase_id int
    SET @EmpCloseCase_id=0
    
    SELECT @EmpCloseCase_id = EmpCloseCase_id FROM Appl_Hired_EVerify_EmpCloseCase WITH(NOLOCK) WHERE e_verify_id = @e_verify_id

    BEGIN TRANSACTION EmpCloseCase
    BEGIN TRY
        IF(@EmpCloseCase_id = 0) BEGIN
            INSERT INTO Appl_Hired_EVerify_EmpCloseCase(e_verify_id,ClientSftwrVer,CaseNbr,CloseStatus,CurrentlyEmployed, systemdate,submit_user_id)
            VALUES (@e_verify_id,@ClientSftwrVer,@CaseNbr,@CloseStatus,@CurrentlyEmployed,GETDATE(),@submit_user_id)
            
            SET @EmpCloseCase_id=ISNULL(SCOPE_IDENTITY(),0)
        END ELSE BEGIN
            UPDATE Appl_Hired_EVerify_EmpCloseCase
            SET ClientSftwrVer = @ClientSftwrVer,
                CaseNbr = @CaseNbr,
                CloseStatus = @CloseStatus,
                CurrentlyEmployed = @CurrentlyEmployed, 
                systemdate = GETDATE(),
                submit_user_id = @submit_user_id
            WHERE EmpCloseCase_id = @EmpCloseCase_id
        END

        COMMIT TRANSACTION EmpCloseCase
    END TRY
    BEGIN CATCH
           SET @EmpCloseCase_id=0
           ROLLBACK TRANSACTION  EmpCloseCase
    END CATCH

   RETURN @EmpCloseCase_id
END

その「OUTPUT」行が欠落<cfprocparam type="out" variable="empCloseCaseId">しているため、cfstoredprocに含めようとするとエラーがスローされます欠落している「OUTPUT」行を追加したり、procのコードを変更したりせずに、cfstoredprocを使用してこの戻り変数@EmpCloseCase_idの値にアクセス/保存する方法はありますか?

エイドリアンJ.モレノ

変化する

RETURN @EmpCloseCase_id

SELECT @EmpCloseCase_id as emp_close_case_id

そしてあなたにcfstoredproc呼び出し、追加

<cfprocresult name="foo">

これは、変数fooを単一の行と列を持つクエリとして定義しますemp_close_case_id

<cfoutput>
    #foo.emp_close_case_id#
</cfoutput>

編集:output変数を適切に宣言するか、selectステートメントでデータセットを返すことなく、そのデータにアクセスする方法はありませんSQL Serverのドキュメント:ストアドプロシージャからデータを返す

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ