데이터베이스 생 성 표 전 판단 처리

데이터베이스 생 성 표 전 판단 처리
sybase / sql server 는 간단 합 니 다. 사용 할 수 있 습 니 다.
if exists(select 1 from sysobjects where id=object_id("    ") and type="U")

drop table "    "

go

--- 그리고 만 들 면 된다.
그러나 Oacle 에 대응 하 는 문법 은 없다.만약 에 drop 을 떨 어 뜨리 면 대응 하 는 대응 이 존재 하지 않 기 때문에 잘못된 정 보 를 알려 주 고 초보 자 나 서버 로 서 오 류 를 발견 할 때 의문 을 제기 합 니 다.그래서 다음 과 같은 간단 한 방법 이 있 습 니 다.원 리 는 간단 합 니 다. user 를 사용 하 세 요.objects 데이터 사전 과 동적 sql 문.
create or replace procedure proc_dropifexists(
p_i_tablename in varchar2 -----   
) is
v_count number(10);
begin
----               
select count(*)
into v_count
from user_objects
where object_name = upper(p_i_tablename);

if v_count > 0 then
----         sql drop   
execute immediate 'drop table ' || p_i_tablename;
end if;
end proc_dropifexists;

----    demo
exec proc_dropifexists('a');

저장 프로 세 스 와 트리거, sybase 의 처리 방법 은 표 에 대한 처리 방법 과 유사 합 니 다.Oacle 은 간단 합 니 다. create or replace 는 존재 하면 재 구축 을 삭제 하고 존재 하지 않 으 면 만 들 고 간단명료 하 다 는 뜻 입 니 다.

좋은 웹페이지 즐겨찾기