循环追加表空间的数据文件的存储过程

 1 create or replace procedure p_alter_data_datafile  
2 (
3 tablespace_name in varchar2, --表空间名字
4 datafile_path in varchar2, --数据文件的路径
5 datafile_size in number, --数据文件的大小
6 datafile_count in number --数据文件的数量
7 )
8 is
9 timesum integer;
10 data_sql varchar2(200);
11 begin
12 timesum := datafile_count;
13 -- 循环构造SQL,并执行
14 for currenttime in 2 .. timesum+1 loop
15 data_sql := 'alter tablespace ' || tablespace_name || ' add datafile '
16 -- || '''/path/datafile' ||currenttime|| '.dbf'''
17 || '''' || datafile_path || '' ||currenttime|| '.dbf'''
18 -- || '''+DG'''
19 || ' size ' || datafile_size || 'm';
20
21
22 -- 打印动态SQL
23 dbms_output.put_line(data_sql);
24 -- 执行SQL
25 execute immediate data_sql;
26 end loop;
27 exception
28 when others then
29 rollback;
30 end p_alter_data_datafile;
31 /

 

posted @ 2012-02-09 14:12  cczz_11  阅读(295)  评论(0编辑  收藏  举报