日期:2014-05-17  浏览次数:20822 次

oracle字符串的连接
我想创建 除了表空间名不同 其他都相同的5个表空间,表空间名分别为tablespace1~tablespace5 因为表空间名类似,所以我想用存储过程编写。但是我现在不知道怎么连接字符串,能给点提示吗?
SQL code
create or replace procedure create_tablespace
i int
as
begin
i:=1;
loop
create tablespace (这里应该怎么写?怎么和i连起来呢?)
datafile '/var/oracle/oradata/db0/lee_t_personaldownreport_p44.dat' 
size 1500m autoextend on
default storage (initial 1000m next 50m minextents 1 maxextents unlimited pctincrease 
i:=i+1;
if i>5 then
exit
end if
end loop
end



------解决方案--------------------
'tablespace'||i
------解决方案--------------------
使用动态sql:
for i in 1..5 loop
v_sql:='create tablespace tablespace'||i||' ......... datafile=/oracledata/data'||i||'.dbf ..... ;
execute immmediate v_sql;
end loop;

引用楼主 zhuche110 的帖子:
我想创建 除了表空间名不同 其他都相同的5个表空间,表空间名分别为tablespace1~tablespace5 因为表空间名类似,所以我想用存储过程编写。但是我现在不知道怎么连接字符串,能给点提示吗?

SQL codecreate or replace procedure create_tablespace
i int
as
begin
i:=1;
loop
create tablespace (这里应该怎么写?怎么和i连起来呢?)
datafile '/var/oracle/oradata/db0/lee_t_personaldownreport_p44.dat'
size…