Procedure to fetch recent withdrawal list from Transactions PLSQL ORACLE

Viewed 26

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;

0 Answers
Related