create schema authorization xxx
create table ...
create table ....
...;

解决方案 »

  1.   

    to dongxiangjun:
       这样一个一个地写很麻烦啊,能不能写个循环之类的脚本呢
      

  2.   

    to woodpan:
    谢谢,写程序实现是可以的,不过这样不是很麻烦,经常都需要建表、清空表、删除表之类的,表的字段改一下就得改程序,不像改脚本那么方便啊,所以我想用PL/SQL来实现,哪位大侠帮帮忙啊
      

  3.   

    那你就写个pl/sql的程序不就可以了!写个函数就o'k
      

  4.   

    先建个文本文件
    Ctrl+C, Ctrl+V  
    写好语句,注意每句最后打分号然后在sqlplus下使用start或者@命令
      

  5.   

    如果你就一次,就像上面执行如果经常建表,(有点bt)那么就用plsql,不过在plsql中执行ddl,需要用动态sql,不方便
      

  6.   

    将以下脚本保存为c:\createtable.sql。
    set serveroutput on size 100000 format  WRAPPED
    --建表test199501,test199502,...test200012
    spool c:\test.sql
    declare d date:=to_date('1995-1-1','yyyy-mm-dd');
    begin
      while d<to_date('2001-1-1','yyyy-mm-dd') loop
        dbms_output.put_line('drop table test'||to_char(d,'yyyymm'));
        dbms_output.put_line('/');
        dbms_output.put_line('');
        dbms_output.put_line('create table test'||to_char(d,'yyyymm'));
        dbms_output.put_line('( a VARCHAR2(10) NOT NULL,');
        dbms_output.put_line('  b VARCHAR2(10) NOT NULL)');
        dbms_output.put_line('/');
        dbms_output.put_line('');
        d:=add_months(d,1);
      end loop;
      dbms_output.put_line('/'||'*');
    end;
    /
    prompt */
    spool off
    @c:\test.sql再在sqlplus中执行@c:\createtable.sql。
      

  7.   

    啊,为什么不能给分啊
    不好意思,刚学ORACLE,再次感谢呀