Q&A

  • 오라클에서 테이블 이름을 가져오는 방법이 없나요?
제목처럼 오라클에서 테이블 이름을 가져오는 방법을 알수가
없어 한수 부탁 드립니다.

예를 들면 name 이라는 테이블이 있는지 없는지 체크를 할려고 하면

어떻게 해야 하나요?

이러한 비슷한 질문이 있는지 검색 했는데 업네요..
부탁드립니다.
3  COMMENTS
  • Profile
    하나로 2004.05.31 09:33



    위의 방법은 제가 주로 Table을 동적생성시 사용하는 방법입니다. 참고하세요


    SCOTT가 소유하고있는 TABLE를 모두 보여줍니다.

    SELECT TABLE_NAME FROM SYS.ALL_TABLES WHERE (OWNER = 'SCOTT')

    해당 NAME이라는 TABLE의 존재유무를 확인후 테이블 삭제나 생성하는방법은

    With Query1 begin // 원하는 테이블을 검색후 생성또는 삭제를 결정한다
         Close;
         SQL.Clear;
         SQL.Add('SELECT Table_Name  FROM SYS.All_Tables  ');
         SQL.Add('WHERE  Table_Name = ' + #39 + 'NAME' + #39  );
         Open;
         if Not(EOF) Then begin // 테이블이 있으면 테이블을 없앤다
            With Query2 do begin
                SQL.Text := 'DROP TABLE NAME';
                ExecSQL;
             end;  
         end else begin // 테이블이 없으면 테이블을 생성한다
            With Query2 do begin
               SQL.Text := 'CREATE TABLE NAME (  Name1 VARCHAR2(02) NOT NULL,  Name2 NUMBER(02)           NULL )';
                ExecSQL;
          end;
      end; // With Query1 begin

  • Profile
    신연근 2004.05.24 17:00


    해당 테이블이 있으면 카운트가 0이 아니겠져?

    SELECT Count(NAME) INTO iTBL_EXIST_SLT FROM SYSOBJECTS WHERE NAME ='테이블명';

    그럼 즐프하세요..
  • Profile
    바다사랑 2004.05.24 16:45
    select * from   tab 해보세요... 그러면 해당 user의 모든테이블이 나옵니다.


    select * from   tab