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
위의 방법은 제가 주로 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