关于动态SQL的问题,请各位大虾帮忙,急急..............
procedure Sort(f_item_max_cate in varchar2,f_item_categorise in varchar2,f_bargain_no in varchar2,f_vendor_no in varchar2,f_vendor_name in varchar2,f_start_date in varchar2,f_end_date in varchar2,p_bargain_inf out tr_bargain_inf,f_segment in varchar2,f_AGENT_NAME in varchar2,f_momey_from in number,f_momey_end in number,f_sort_field in varchar2)
is
v_sql_str varchar2(400);
begin
v_sql_str:=' select * from v_po_bargain_inf_Q '||
'where item_max_cat=:f_item_max_cate '||
'and item_categorise=nvl (:f_item_categorise,item_categorise) '||
'and bargain_no like nvl(:f_bargain_no,bargain_no) '||
'and vendor_name like nvl(:f_vendor_name,vendor_name) '||
'and creation_date>=to_date(:f_start_date,''dd-mm-rrrr'') ||
'and creation_date<=to_date(:f_end_date,''dd-mm-rrrr'') ||
'and ITEM_DESCRIPTION like nvl(:f_segment,ITEM_DESCRIPTION) '||
'and AGENT_NAME like nvl(:f_AGENT_NAME,AGENT_NAME) '||
'and AMOUNT_MONEY>=nvl(:f_momey_from,AMOUNT_MONEY) ' ||
'and AMOUNT_MONEY<=nvl(:f_momey_end,AMOUNT_MONEY) ' ||
'order by '|| f_sort_field;
open p_bargain_inf for v_sql_str
using f_item_max_cate,f_item_categorise,f_bargain_no,f_vendor_name,f_start_date,f_end_date,f_segment,f_AGENT_NAME,f_momey_from,f_momey_end;
end Sort;

