日期:2014-05-18  浏览次数:20746 次

大家帮我看看,下面的代码怎么错了啊? 在线等!!!
我创建了一个表
test(id number, value varchar2(200))

create or replace package a_package_name
as 
  TYPE CursorType is REF CURSOR;
  PROCEDURE get_procedure_name
  (
  v_arg1 number,
  v_arg2 varchar2(200),
  refCur_return out cursor,
  v_total_Count out varchar2
  )
END;

create or replace package body a_package_name
as 
procedure get_procedure_name
(
  v_arg1 number,
  v_arg2 varchar2(200),
  refCur_return out cursor,
  v_total_Count out varchar2
)
is
numArg1 number := '';
strArg2 varchar2(200) := '';
strSql varchar2(200) := '';
strQuery varchar2(200) := '';
strCondition varchar2(200) := ' where 1=1 ';

Begin
  if v_arg1 is not null and length(v_arg1)>0 then  
  numArg1 := v_arg1;
  strCondition := ' '|| strCondition ||' and id = '|| numArg1 ||' ';
  end if;
  if v_arg2 is not null and length(v_arg2)>0 then
  strArg2 := v_arg2;
  strCondition := ' '|| strCondition ||' and value = '''|| v_arg2 ||''' ';
  end if;
   
  strSql := 'selec * from test '|| strCondition ||' ';
  OPEN refCur_return FOR strSql;
  strQuery := 'select count(1) from test '|| strCondition ||' '
  EXECUTE IMMEDIATE strQuery INTO v_total_Count;
   
end get_procedure_name;
end a_package_name;

------解决方案--------------------
你这个是啥语言???不像c#啊
------解决方案--------------------
是pl/sql
------解决方案--------------------
错误信息是什么
------解决方案--------------------
什么语言,初看是T-SQL 细看又不是
------解决方案--------------------
看不懂,把错误信息贴出来吧
------解决方案--------------------
是oracle的sql脚本,叫pl/sql,楼主其实可以在oracle版来发布这个问题的。
你的错误提示是什么?
------解决方案--------------------
首先,END前面少个分号吧
------解决方案--------------------
好吧,存储过程,好多年不写了。。。
------解决方案--------------------
强烈表示此语法不是t-sql语法