Oracle创建新表:如果存在则删除重建

来源:互联网 发布:内地网络悬疑电视剧 编辑:程序博客网 时间:2024/05/27 06:52

Oracle创建新表之前需要drop掉数据库内的同名表,但drop时如果不存在与要创建表同名的表会报错,所以可以在创建新表之前通过查询判断是否有该同名表,再决定后续操作。

/*==============================================================*//* DBMS name:      ORACLE Version 11g                           *//* Created on:     2017-09-29 17:58:32                          *//*==============================================================*//*==============================================================*//* Public procedure :  proc_dropifexists(p_table in varchar2)   *//* Description:        判断是否存在要创建的表,存在则删掉       *//* Create on:          2017-09-29  17:58:32                     *//*==============================================================*/CREATE OR REPLACE PROCEDURE PROC_DROPIFEXISTS(P_TABLE IN VARCHAR2)ISV_COUNT NUMBER(10);BEGIN  SELECT COUNT(*)  INTO V_COUNT  FROM USER_TABLES  WHERE TABLE_NAME = UPPER(P_TABLE);  IF V_COUNT > 0   THEN     EXECUTE IMMEDIATE 'drop table '||P_TABLE||' purge';  END IF;END PROC_DROPIFEXISTS;/*==============================================================*//* Decription: 如果存在要创建的表则将其删除                     *//*==============================================================*/CALL PROC_DROPIFEXISTS('EMPLOYEE');/*==============================================================*//* Table: "EMPLOYEE"                                      *//*==============================================================*/CREATE TABLE "EMPLOYEE" (   ID                   NUMBER(20)           NOT NULL,   MANAGECOM            VARCHAR2(11)         NOT NULL,   "NAME"               VARCHAR2(100)        NOT NULL,   "LEVEL"              VARCHAR2(6)          NOT NULL,   CONSTRAINT EMPLOYEE PRIMARY KEY (ID));COMMENT ON TABLE "EMPLOYEE " IS '员工信息表';COMMENT ON COLUMN "EMPLOYEE".ID IS '编号;COMMENT ON COLUMN "EMPLOYEE ".MANAGECOM IS '机构 ';COMMENT ON COLUMN "EMPLOYEE"."NAME" IS '姓名';COMMENT ON COLUMN "EMPLOYEE"."LEVEL" IS '职级';
阅读全文
0 0
原创粉丝点击