当前位置: 代码迷 >> Oracle技术 >> PL/SQL报错,该如何处理
  详细解决方案

PL/SQL报错,该如何处理

热度:46   发布时间:2016-04-24 08:38:02.0
PL/SQL报错
PLS-00103: 出现符号 "("在需要下列之一时: := . ) , @ % default character  
代码如下:


create or replace procedure emp_page(tableName in varchar2, --表名 page_size in number, --每页显示记录数 pageNow in number, --当前页
myrows out number, -- 总记录数 myPageCount out number, --总页数 my_cursor out my_new_pack.test_cursor --返回的结果集 ) is
v_sql varchar2(500);
v_begin number := (pageNow-1)*page_size+1;
v_end number := pageNow*page_size;
begin  
v_sql:='select * from (select e.*,rownum rn from (select * from '||tableName||')e where rownum<='||v_end||')where rn>='||v_begin;
open my_cursor for v_sql;
v_sql:='select count(*) from '||tableName;
execute immediate v_sql into myrows;
if mod(myrows,page_size)=0 then myPageCount:= myrows/page_size;
else myPageCount:= myrows/page_size+1;
end if;
end; 


看了半天也没看出个所以然~

------解决方案--------------------
这个存储过程没问题
你看一下是不是你格式乱了,导致编译出错

SQL code
create or replace procedure emp_page(    tableName in varchar2, --表名    page_size in number, --每页显示记录数    pageNow in number, --当前页    myrows out number, -- 总记录数    myPageCount out number, --总页数    my_cursor out sys_refcursor --返回的结果集)is    v_sql varchar2(500);    v_begin number := (pageNow-1)*page_size+1;    v_end number := pageNow*page_size;begin    v_sql:='select * from (select e.*,rownum rn from (select * from '||tableName||')e where rownum<='||v_end||')where rn>='||v_begin;    open my_cursor for v_sql;    v_sql:='select count(*) from '||tableName;    execute immediate v_sql into myrows;    if mod(myrows,page_size)=0 then myPageCount:= myrows/page_size;        else myPageCount:= myrows/page_size+1;    end if;end;
------解决方案--------------------
create or replace procedure emp_page(tableName in varchar2, --表名 page_size in number, --每页显示记录数 pageNow in number, --当前页
myrows out number, -- 总记录数 myPageCount out number, --总页数 my_cursor out my_new_pack.test_cursor --返回的结果集 ) is
改成成
SQL code
create or replace procedure emp_page(tableName in varchar2, --表名 page_size in number, --每页显示记录数 pageNow in number, --当前页 myrows out number, -- 总记录数 myPageCount out number, --总页数 my_cursor out my_new_pack.test_cursor --返回的结果集 ) is
  相关解决方案