具体的说就是, 我有一张表A。A中存的是function的名字。还有一张表B。B中存放function的参数。两张表用ID关联。现在我需要写一个存储过程C。在C中,我要查询A表和B表。将得到的信息拼成一个v_sql.然后执行。就是这样了。 

解决方案 »

  1.   

    这样都可以
    http://topic.csdn.net/u/20100226/15/474cf774-48a3-40d9-ab4d-ffdc6f970878.html楼主的肯定没问题了
      

  2.   

    有困难啊。求各位帮忙。我现在的问题是:如何拼v_sql?v_sql是个什么样的格式。比如调存储过程拼成的是v_sql:=“call test(aa,bb,ccc);”
    如果是function呢?我要如何拼?
    execute immediate v_sql;后面需要绑定哪些变量?怎么绑定?求各位帮忙
      

  3.   

    这样不就可以了吗? 为什么还要拼成sql 再动态执行? 结果不是一样的吗?
      

  4.   


     upper_bound_stmt := 'Select MIN(col_val) FROM (Select /*+ INDEX_DESC(' ||
                          storage_tab_name || ') */ DISTINCT ' ||
                          'col_val FROM ' || storage_tab_name || ' ORDER BY ' ||
                          'col_val DESC) WHERE rownum <= ' || :1;
      EXECUTE IMMEDIATE upper_bound_stmt Using lower_pos INTO upper_bound;
    --PS:
    --1.lower_pos 代表where条件中的:1
    --2.upper_bound 代表查询出来的结果存放到变量upper_bound