写一个过程和一个触发器实现一段参数的的倒叙输出

解决方案 »

  1.   

    CREATE OR REPLACE FUNCTION f_back_str(in_str IN VARCHAR2)
    RETURN VARCHAR2
    IS
      v_back_str VARCHAR2(500);
      v_mid_str  VARCHAR2(20);
      v_count NUMBER(10);
    BEGIN
      v_count:=length(in_str);
      IF v_count<20 THEN
        FOR i IN 1..v_count LOOP
          v_back_str:=substr(in_str,i,1) || v_back_str;
        END LOOP;
      ELSE
        v_back_str:=in_str;
      END IF;
      RETURN v_back_str;
    END f_back_str;
    /SQL> SELECT f_back_str('abc你好') FROM dual;F_BACK_STR('abc你好')
    --------------------------------------------------------------------------------
    好你cba
      

  2.   

    二楼的  v_back_str:=substr(in_str,i,1) || v_back_str;  好象要改成
     v_back_str:=v_back_str|| substr(in_str,i,1) ;
      

  3.   

    恩,是正确的,学习了!:) 3KU Eric_1999(╙@^@╜)