怎么用pl/sql语句 ,判断一个表,和序列是否存在,如果存在就删除,重建呢?
这里是我写的 SQL Server上的 Oracle上怎么写呢
if exists (select 1
            from  sysobjects
           where  id = object_id('dbo.Admins')
            and   type = 'U')
   drop table dbo.Admins
gocreate table dbo.Admins (
   Admname              varchar(50)          not null,
   Admpwd               varchar(50)          not null,
   constraint PK_ADMIN primary key clustered (Admname)
)
go

解决方案 »

  1.   

    一个小例子CREATE OR REPLACE PROCEDURE ckw_test (iid NUMBER, iprice NUMBER)
    AS
       i   INTEGER;
    BEGIN
       BEGIN
    /*
    需要有个显示的授权:
    grant create table to usename;
    */
          SELECT COUNT (*)
            INTO i
            FROM user_tables
           WHERE table_name = UPPER ('T3');      IF i = 0
          THEN
             EXECUTE IMMEDIATE 'CREATE TABLE T3(ID NUMBER NOT NULL, price NUMBER NOT NULL)';
          END IF;      EXECUTE IMMEDIATE 'INSERT INTO T3(ID,price) VALUES(:1,:2)' using iid,iprice; 
          COMMIT;
       EXCEPTION
          WHEN OTHERS
          THEN
             ROLLBACK;
       END;
    END;
    /