在存储过程中 一个表中的字段中有这样的4个值z_like_PortA
z_like_PortA_fuck
z_love_PortA
z_love_PortA_shit将这些值取出放入一个数组中 v_string。循环这个数组,进行判断若PortA是在结尾的就进行下一步处理,否则继续循环定义一个v_string(i).str 存放取出来的值伪代码如下:
if  v_string(i).str最后的字符串 = PortA then
    dbms_output.put_line('房价太他妈高了');
end if;

解决方案 »

  1.   

    游标循环就行了
    判断是否在结尾可用like '%PortA'
      

  2.   

    create or replace
    procedure cursor_proc 
    as
    cursor l_cur is select ename from emp;
    l_count number:=0;
    begin
    for v_cur in l_cur loop
    if(v_cur.ename IS NOT NULL)then 
    select COUNT(*) into l_count from DUAL where regexp_like(V_CUR.ENAME,'PortA$');
    if(l_count <> 0)then 
    dbms_output.put_line('房价也太高了');
    else
    dbms_output.put_line('其他处理');
    end if;
    end if;
    end loop;
    end;
      

  3.   

    3楼写法不错,不过分析函数在9i以上才支持,低版本的可以参考 substrate(a,-5)= 'PortA'
      

  4.   

    dbms_output.put_line('房价太他妈高了');