当前位置: 代码迷 >> Oracle开发 >> Oracle的大侠们帮忙看看这就代码错在哪里?该如何解决
  详细解决方案

Oracle的大侠们帮忙看看这就代码错在哪里?该如何解决

热度:56   发布时间:2016-04-24 07:30:02.0
Oracle的大侠们帮忙看看这就代码错在哪里???
declare
  a int;
  begin
  select max(ec_id) into a from easybuy_comment;  
  create sequence commentid 
  minvalue 1
  maxvalue 999999
  start with a
  increment by 1
  case 20;
  end;

------解决方案--------------------
SQL code
create or replace procedure p_createseq(tablename in varchar2) is   /*错误位置在case需要改成cache 这个是正确的 */  strsql varchar2(500);  a      NUMBER(4) := 0;begin  select max(ec_id) into a from easybuy_comment;  strsql := 'create sequence seq_' || tablename ||            ' minvalue 1 maxvalue 9999 start with '||a||'            increment by 1 cache 20';   execute immediate strsql;end p_createseq;
------解决方案--------------------
declare
a int;
v_sql varchar2(500);
begin
select max(id) into a from sys_user;
--ddl语句不能直接在plsql里执行,要通过动态语句执行
v_sql := 'create sequence commentid minvalue 1 maxvalue 9999 start with ' || a ||
' increment by 1 cache 20'; --3楼这里写错了 是cache不是case 这个语句应该是没错的
execute immediate v_sql;
end;
  相关解决方案