CREATE OR REPLACE TABLE "A"  
  (  "ID" VARCHAR2(10), "NAME" VARCHAR2(10));能这样建表吗 或者用 exists谢谢大家!

解决方案 »

  1.   

    Oracle如果要重新建表,必须先drop
      

  2.   


    CREATE OR REPLACE PACKAGE BODY cc1 IS
    PROCEDURE run
    IS
    BEGIN
    a;
    b;
    END run;
    PROCEDURE a
    IS
    BEGIN
    declare a number;
    begin
       select count(1) into a from user_tables where table_name='A';
       if a>0 then
         dbms_output.put_line('表存在');
         else
           dbms_output.put_line('表不存在');
               execute IMMEDIATE
                'CREATE TABLE "A"
      (  "ID" VARCHAR2(10), "NAME" VARCHAR2(10)) ';
           end if;
         END;
    COMMIT;
    END a;PROCEDURE b
    IS
    BEGIN
    declare a number;
    begin
       select count(1) into a from user_tables where table_name='bb';
       if a>0 then
         dbms_output.put_line('表存在');
         else
           dbms_output.put_line('表不存在');
               execute IMMEDIATE
                'CREATE TABLE "bb"
      (  "ID" VARCHAR2(10), "NAME" VARCHAR2(10)) ';
           end if;
         END;
    COMMIT;
    END b;
    END cc1;放在txt 里面 用sqlplush  执行不了