在postgres中返回输出值和查询选择值

时间:2019-03-19 06:59:27

标签: postgresql database-migration plpgsql

这是我的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

1 个答案:

答案 0 :(得分:0)

您应该有两个out参数,一个用于成功/失败,另一个用于值。

否则,对于成功/失败,您不应该使用out参数,而对于失败,则使用RAISE ESCEPTION ...