select 字段
from  tab
where 条件1 
and   flg = y这边flg = y 我想达到的效果是flg = y 表示是个人用户  flg = N 是团体用户
但我怎么实现。这关系到数据库设计怎么弄?好昏另外pl/sql procedure a (inaa tab%rowtype ...)
发现传入参数的类型是rowtype时  用developer 调存储过程时 点TEST 出个脚本框 会把这个参数灭掉
那怎样的存储过程怎么弄?关键是里面逻辑还很复杂,不断点调还真不好办。

解决方案 »

  1.   

    把flg作为一列嘛。生成数据的时候就指定好呗。flg = y 表示是个人用户  flg = N 是团体用户。没明白
      

  2.   

    就是用pl/sql dev 调存储过程时  要输入 传入参数
    如果类型是rowtype 那这个参数就直接不给你输了  比如本来是5个参数  现在只允许你传4个参数了
      

  3.   

    flg  字段类型 varchar2(1)
    flg =0 个人用户
    flg =1 团体用户
    flg =其他值,扩展
    很少用plsql dev 的test 功能啊,不太清楚 
      

  4.   

    第一个问题加个静态参数表就OK了   第二个问题游标类型做参数 传的值是你TAB表的一行数据 而不单独是一个值  是一堆 
      

  5.   

    它直接会把那个参数给弄掉  你去哪输呢?不过留下一句话  -- Non-scalar parameters require additional processing 
      

  6.   

    你再写个测试的,存储过程,比如:
    create or replace ***
    is
    v_rt tbl%ROWTYPE;
    v_cursor SYS_REFCURSOR;
    begin
     open v_cursor for select * from tbl where id=''; --这里的条件保证只有一条对应的表记录
     loop
     fetch v_cursor into v_rt;
     exit when  v_cursor%NOTFOUND;
     --这里调用你测试的过程,连续另外4个参数也这里输入
    end loop;
     close v_cursor;
      ...
    end;
    /
    然后直接断点测这个,能不能进你要测试的那个?如果能不就可以了?