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

前端之家收集整理的这篇文章主要介绍了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;

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

猜你在找的Oracle相关文章