1

私はストアドプロシージャにかなり慣れていません。

SQL Server を使用しています。

ストアド プロシージャを実行しようとしています。その後、INSERT「挿入が完了しました」というメッセージが返されるか、「挿入に失敗しました」というメッセージが挿入されなかった場合

エラーが表示される

スカラー変数「@oResult」を宣言する必要があります

私はそれを理解することはできません。

どんな助けでも大歓迎です。

ALTER PROC master
    @iPatientFName varchar(20),
    @iPatientLName varchar(20),
    @iPatientAddr varchar(30),
    @iDOB date,
    @oResult VARCHAR(10) OUT    
AS

DECLARE @wardCount int
SET @wardCount = (SELECT COUNT(ward_id) FROM dbo.patient_admissions_tbl)
BEGIN
    SET NOCOUNT ON;
    if(@wardCount < 5)
        BEGIN           
            INSERT INTO patient_tbl(patient_fname, patient_lname,     patient_address, patient_dob)
            VALUES(@iPatientFName, @iPatientLName, @iPatientAddr, @iDOB)                        
            SET @oResult = 'Patient inserted'
        END         
END


EXECUTE exam_master 'john', 'smith', 'new york', '10-10-1981', @oResult
4

1 に答える 1

3

これを試して

DECLARE @oResult VARCHAR(10);
EXECUTE exam_master 'john', 'smith', 'new york', '10-10-1981', @oResult OUTPUT;

PRINT(@oResult); --if you want to see result value
于 2013-09-28T12:25:15.803 に答える