首页 > 解决方案 > Oracle 程序所有输入变量都设置为大写

问题描述

我有一个场景,我需要在处理之前将 Oracle SP 的所有输入参数转换为大写:-

procedure Name (
v_Param1 in number,
v_Param2 IN varchar2,
v_Para3 IN VARCHAr2,
v_Param4 IN VARCHAr2,
v_MID IN VARCHAr2)

输入可以是小写、大写或驼峰式,但我需要将其与大写表中的记录匹配,这是递归调用中数据库端的一项昂贵操作。有没有办法可以立即转换这些值,以便将输入参数转换为大写。

标签: sqloracleplsql

解决方案


您可以声明和设置新变量:

procedure Name ( v_Param1 in number, v_Param2 IN varchar2, v_Para3 IN VARCHAr2, v_Param4 IN VARCHAr2, v_MID IN VARCHAr2
               )
as
    v_param2_upper varchar2(4000);
    v_param3_upper varchar2(4000);
    v_param4_upper varchar2(4000);
    v_param5_upper varchar2(4000);
begin
    v_param2_upper := upper(v_param2);
    v_param3_upper := upper(v_param3);
    v_param4_upper := upper(v_param4);
    v_param5_upper := upper(v_param5);

    . . .
end;

但是,我不知道字符串的大小写如何导致递归调用。


推荐阅读