首页 > 解决方案 > 将参数传递给 Oracle 应用程序中的 PL/SQL 函数并在过程中调用它

问题描述

我目前有一个加密银行数据的工作功能,必须在临时表上插入数据之前完成。

但我不知道如何调用该函数。下面是函数

FUNCTION FN_ENCRYPT_3DES(P_SUPPLIER_BANK_ACCOUNT_NUMBER INVOICES.SUPPLIER_BANK_ACCOUNT_NUMBER%TYPE
                        P_CARD_NUMBER  ) RETURN RAW IS
    -- --------------------------------------------------
    v_data   VARCHAR2(255);
    v_retval RAW(255);

  BEGIN
    IF P_SUPPLIER_BANK_ACCOUNT_NUMBER IS NOT NULL THEN
      --p_key := utl_raw.cast_to_raw('GD6GTT56HKY4HGF6FH3JG9J5F62FT1');
      v_data := RPAD(P_SUPPLIER_BANK_ACCOUNT_NUMBER, CEIL(LENGTH(P_SUPPLIER_BANK_ACCOUNT_NUMBER) / 8) * 8, CHR(0));
      dbms_obfuscation_toolkit.DES3Encrypt(input          => utl_raw.cast_to_raw(v_data),
                                           key            => G_KEY,
                                           which          => 1,
                                           encrypted_data => v_retval);
      RETURN v_retval;
    ELSE
      RETURN NULL;
    END IF;

  END;

标签: plsqloracle11g

解决方案


推荐阅读