select col.columnId from column col where (col.LayerS like '1024______' or col.column_LayerS like '1024____________') and col.delflag='0'我想将数字部分以参数的形式传进来,请问如何更改呢。

解决方案 »

  1.   

    你写个存储过程,设置为输入参数
    create or replace procedure sel_column_id(var1 in integer
                                              var2 in integer
                                              var3 in integer)
    authid  current_user
    is 
    dyn_sql varchar2(200)
    begin
    dyn_sql='select col.columnId from column col where (col.LayerS like '''||var1||''' or col.column_LayerS like '''||var1||''') and col.delflag='''||var1||''';             
    EXECUTE IMMEDIATE dyn_sql;
    commit;
    end  sel_column_id;                    
    不知道是否满足你的要求,我没有测试,不知道有没有问题。
      

  2.   

    可以写一个包,里面对应每个你所需的变量写一个包的全局变量,然后在视图里用就可以了。
    当然使用前需要set包里的这些变量。