当前位置: 代码迷 >> Oracle管理 >> 这个代码错在哪里?关于存储过程与字符串连接的解决方法
  详细解决方案

这个代码错在哪里?关于存储过程与字符串连接的解决方法

热度:7   发布时间:2016-04-24 05:44:33.0
这个代码错在哪里?关于存储过程与字符串连接的
我下面的代码目的是写一个存储过程,创建5个功能一样表空间名则分别为lee_tablespace_1~lee_tablespace_5
运行时有错 不知道具体错在哪里
请教达人~
SQL code
create or replace procedure create_tablespaceasi number;begini:=1;loopcreate tablespace 'lee_tablespace_'||idatafile '/var/oracle/oradata/db0/lee_tablespace_t'||i||'.dat' size 1500m autoextend ondefault storage (initial 1000m next 50m minextents 1 maxextents unlimited pctincrease i:=i+1;if i>5 thenexitend ifend loopend


------解决方案--------------------
是不是要用动态SQL来创建啊
------解决方案--------------------
要用动态SQL。。。
------解决方案--------------------
建表语句肯定要用动态SQL的
更别说你这还是动态拼接的呢
------解决方案--------------------
SQL code
create or replace procedure create_tablespaceasi number;temp_sql varchar(2000);begini:=1;  loop    temp_sql:='create tablespace ''lee_tablespace_'''||to_char(i)||'               datafile ''/var/oracle/oradata/db0/lee_tablespace_t'''||to_char(i)||'''.dat''                size 1500m autoextend on               default storage (initial 1000m next 50m minextents 1 maxextents unlimited pctincrease ';    execute immediate temp_sql;   i:=i+1;   if i>5 then     exit;   end if;  end loop;end
  相关解决方案