ORACLE中判断表或视图是否存在,如果不存在再创建的方法

判断表是否存在,如果不存在,再创建:

               declare  tableExist number;
                begin
                select count(1) into tableExist from user_tables where table_name=upper('OneCallPRTCP') ;
                if tableExist = 0  then
                execute immediate
                'CREATE TABLE OneCallPRTCP(
                OneCallPRTCPID NCHAR(36)  NOT NULL,
                GisProcessID NCHAR(36)  NOT NULL,
                TicketID NCHAR(36)  NOT NULL,
                TicketNumber VARCHAR2(255)  NOT NULL,
                Code VARCHAR2(50)  NOT NULL,
                Status VARCHAR2(255)  NULL,
                CommandText VARCHAR2(255)  NOT NULL,
                DtPositiveResponse DATE NOT NULL,
                UserIDPositiveResponse CHAR(36)  NULL,
                ResultCode VARCHAR2(50)  NULL,
                ResultStatus VARCHAR2(255)  NULL,
                ResultText VARCHAR2(255)  NULL,
                IsPROK CHAR(1) NOT NULL,
                StageName VARCHAR2(50)  NOT NULL,
                MemberCode VARCHAR2(50)  NULL,
                constraint OneCallPRTCP_PK primary key (OneCallPRTCPID))';
                end if;
                end;

 

判断视图是否存在,如果不存在,再创建:

declare viewExist number;
begin
select count(1) into viewExist from user_views where VIEW_NAME='REPORT_APPOINTMENTSBYLOCATORS';
if viewExist=0 then

execute immediate
'CREATE  VIEW REPORT_APPOINTMENTSBYLOCATORS
AS
SELECT        appointmentID, startDateTime, endDateTime, grid, locator,
              meetingAddress, contactNumber, company, contact, reasonForAppointment,
              DtFirstCall, DtSecondCall,CustomerAnswerFirstCall, CustomerAnswerSecondCall,
              IsMeetOnSite, DtLastModified, AppointmentStatus, IsLocatorArriveOnsite,
              DtCompletedAt,DtLocatorArriveOnsite, RescheduledOn, RescheduledAt, IsRescheduled, city
FROM   Appointment';
end if;
end;

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值