create or replace procedure p_alter_data_datafile ( tablespace_name in varchar2, --表空间名字 datafile_path in varchar2, --数据文件的路径 datafile_size in number, --数据文件的大小 datafile_count in number --数据文件的数量 ) is timesum integer; data_sql varchar2(200); begin timesum := datafile_count; for currenttime in 2 .. timesum+1 loop data_sql := 'alter tablespace ' || tablespace_name || ' add datafile ' -- || '''/path/datafile' ||currenttime|| '.dbf''' || '''' || datafile_path || '' ||currenttime|| '.dbf''' -- || '''+DG''' || ' size ' || datafile_size || 'm'; execute immediate data_sql; dbms_output.put_line(data_sql); end loop; exception when others then rollback; end p_alter_data_datafile;