这是我的sql server示例过程,同时迁移到postgres sql,我无法返回输出值,并且 返回查询值。我要返回SUCCESS,然后返回查询值
ALTER PROCEDURE [dbo].[VERIFY](
@P_VER_NO VARCHAR(5) ,
@P_SOLID VARCHAR(6) ,
@P_ID VARCHAR(7) ,
@P_MOBNO VARCHAR(15) ,
@P_OUT_MSG VARCHAR(2) OUT
)
AS
BEGIN
DECLARE @VOTP INT , @V_LNK INT ,@V_VERAVL VARCHAR(2)
IF @VOTP=0
BEGIN
SELECT @P_OUT_MSG='SUCCESS'
SELECT @P_OUT_MSG
SELECT MCI.CHQ_MIN_LGTH AS MINCHEQUELENGTH,
MCI.VRTL_CARD AS VIRTUALCARD,
FROM TRAN_TABLE MCI WITH(NOLOCK)
WHERE MCI_SOLID=@P_SOLID;
RETURN
END
ELSE
begin
SELECT @P_OUT_MSG='FAILURE'
SELECT @P_OUT_MSG
SELECT MCI.ACCT_STAT AS MINCHEQUELENGTH,
MCI.LOG_ATMPT AS VIRTUALCARD,
FROM TRAN_TABLE MCI WITH(NOLOCK)
WHERE MCI_SOLID=@P_SOLID;
RETURN
end
END
答案 0 :(得分:0)
您应该有两个out参数,一个用于成功/失败,另一个用于值。
否则,对于成功/失败,您不应该使用out参数,而对于失败,则使用RAISE ESCEPTION
...