У меня есть условное значение T SQL, в котором, основываясь на результатах первого запроса, я могу или не могу запустить следующий запрос и то же самое для третьего и последнего запроса.
DECLARE @ERRORID_EXT [INTEGER]
,@ERRORDESC_EXT [VARCHAR](255)
,@ERRORID_CLOSE [INTEGER]
,@ERRORDESC_CLOSE [VARCHAR](255)
,@ORDERNUM [VARCHAR](24)
,@VENDORID [VARCHAR](12)
,@SHOPID [VARCHAR](12)
,@AMOUNT [NUMERIC](15, 6)
,@PERCENTALLOWED [NUMERIC](4, 2)
,@LCID INT
,@SECTION INT
,@Approver [VARCHAR](50)
SET @ORDERNUM = '52P-00006809'
SET @VENDORID = 'STMGU'
SET @SHOPID = '52'
SET @AMOUNT = 85.00
SET @Approver = 'TEST'
EXEC EXTENDED
@ERRORID_EXT OUTPUT
,@ERRORDESC_EXT OUTPUT
,@ORDERNUM
,@VENDORID
,@SHOPID
,@AMOUNT
,@PERCENTALLOWED
,@LCID
,@SECTION
-- Return the error code
SELECT @ERRORID_EXT AS StatusCode
,@ERRORDESC_EXT AS Message
IF @ERRORID_EXT = 0 OR @ERRORID_EXT = 635
BEGIN
EXEC CLOSE
@ERRORID_CLOSE OUTPUT
,@ERRORDESC_CLOSE OUTPUT
,@ORDERNUM
,@VENDORID
,@SHOPID
,@AMOUNT
,@PERCENTALLOWED
SELECT @ERRORID_CLOSE AS StatusCode
,@ERRORDESC_CLOSE AS Message
-- IF NO ERROR THEN UPDATE SHOP AP DB
IF @ERRORID_CLOSE = 0 OR @ERRORID_CLOSE = 635
UPDATE ShopAP.dbo.ShopPO
SET ModifiedDate = GETDATE(),
ApprovalDate = GETDATE(),
Approver = @Approver
WHERE ID = @INVOICEID
AND ApprovalDate IS NULL
IF (@@ROWCOUNT > 0)
BEGIN
SELECT 0 AS StatusCode, 'Success' AS Message
END
ELSE
BEGIN
SELECT 999 AS StatusCode, 'Failed' AS Message
END
END
Это может В результате получается до трех наборов результатов. Проблема в том, что мой API видит только первый набор результатов.
Все, что я хочу, это самые последние результаты. Как я могу получить только последний StatusCode / Message?