procedure to fetch recent withdrawal list .. as per the limit.. I will send means in input if i send customer_id and limit 5 then return last 5 withdrawal transaction details for that customer_id.
I GOT SOME QUERY IS THIS RIGHT?
create or replace PROCEDURE GET_TRANS_DET_BY_LIMIT_SP(
p_CUSTOMER_ID IN VARCHAR,
p_TRANSACTION_TYPE IN VARCHAR,
p_LIMIT IN NUMBER,
trans_limit_details OUT SYS_REFCURSOR)
AS
BEGIN
IF p_transaction_type = 'DEPOSIT' THEN
OPEN trans_limit_details FOR
SELECT CUSTOMER_ID, PLAID_BANK_ID,REQUEST_AMOUNT,TRANSFER_AMOUNT,WEBHOOK_ID,TRANSFER_FEE_ID,FEE_AMOUNT,
IS_CASHBACK,CASHBACK_AMOUNT,CASHBACK_ASSET_ID,FEE_ACCOUNT_ID,TRANSACTION_DATETIME,STATUS_UPDATE_TIMESTAMP,
TRANSACTION_STATUS,DEPO_TRANSACTION_ID,FUND_TRANS_METHOD_TYPE,ASSET_ID,FTM_ID,REFERENCE_ID,CUSTOMER_ACCOUNT_ID
FROM DEPOSIT_TRANS_DETAILS
WHERE CUSTOMER_ID=p_customer_id
ORDER BY p_CUSTOMER_ID ,TRANSACTION_DATETIME DESC
FETCH FIRST p_LIMIT ROWS ONLY;
ELSIF p_transaction_type = 'WITHDRAW' THEN
OPEN trans_limit_details FOR
SELECT CUSTOMER_ID,PLAID_BANK_ID,REQUEST_AMOUNT,TRANSFER_AMOUNT,WEBHOOK_ID,TRANSFER_FEE_ID,FEE_AMOUNT,FEE_ACCOUNT_ID,
TRANSACTION_DATETIME,STATUS_UPDATE_TIMESTAMP,TRANSACTION_STATUS,WD_TRANSACTION_ID,FUND_TRANS_METH_ID,
ASSET_ID,FTM_ID,REFERENCE_ID,CUSTOMER_ACCOUNT_ID,BENIF_ACCOUNT_ID
FROM WITHDRAW_TRANS_DETAILS WHERE CUSTOMER_ID=p_CUSTOMER_ID
ORDER BY p_CUSTOMER_ID , TRANSACTION_DATETIME DESC
FETCH FIRST p_LIMIT ROWS ONLY;
ELSIF p_transaction_type = 'TRANSFER' THEN
OPEN trans_limit_details FOR
SELECT FROM_CUSTOMER_ID,TO_CUSTOMER_ID,FROM_ACCOUNT_ID,TO_ACCOUNT_ID,PLAID_BANK_ID,REQUEST_AMOUNT,TRANSFER_AMOUNT,
TRANS_TYPE_ID,WEBHOOK_ID,TRANSFER_FEE_ID,FEE_AMOUNT,IS_CASHBACK,CASHBACK_AMOUNT,CASHBACK_ASSET_ID,
FEE_ACCOUNT_ID,TRANSACTION_DATETIME,STATUS_UPDATE_TIMESTAMP,TRANSACTION_STATUS,TRANS_TRANSACTION_ID,
SENDER_NAME,RECEIVER_COUNTRY_CODE,SENDER_COUNTRY_CODE,RECEIVER_NAME,FUND_TRANS_METH_ID,ASSET_ID,FTM_ID,REFERENCE_ID
FROM TRANSFER_TRANS_DETAILS WHERE FROM_CUSTOMER_ID=p_CUSTOMER_ID
ORDER BY p_CUSTOMER_ID ,TRANSACTION_DATETIME DESC
FETCH NEXT p_LIMIT ROWS ONLY;
END IF;
END;