我下面的代码目的是写一个存储过程,创建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