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 回答