Q&A

  • DB에 들어 있는 모든 레코드를 한방에 지우기
우선 저번에 제가 질문한 내용에 성실히 답변해 주신



김정선님과 류동균님께 감사의 말씀을 드립니다... ^^;





DB에 있는 모든 레코드를 한방에 지우고 싶습니다....



현재는



While Not Q1.eof

begin

Q1.Delete;

Q1.Next;

end;



라는 아주아주 무식한 방법으로 지우고 있는데요..



이거 한방에 지우는 방법이 없을까요..--;



또다시 고수님들의 도움을 바랍니다..

5  COMMENTS
  • Profile
    류동균 2000.03.11 09:24
    봉주니 wrote:

    > 우선 저번에 제가 질문한 내용에 성실히 답변해 주신

    >

    > 김정선님과 류동균님께 감사의 말씀을 드립니다... ^^;

    >

    >

    > DB에 있는 모든 레코드를 한방에 지우고 싶습니다....

    >

    > 현재는

    >

    > While Not Q1.eof

    > begin

    > Q1.Delete;

    > Q1.Next;

    > end;

    >

    > 라는 아주아주 무식한 방법으로 지우고 있는데요..

    >

    > 이거 한방에 지우는 방법이 없을까요..--;

    >

    > 또다시 고수님들의 도움을 바랍니다..



    여러가지 방법이 있읍니다.



    1.Query로 지우는 방법



    delete from TableName



    2.Dlephi TTable로 지우는 방법



    TTable.Exclusive := True 로 주시고(디자인시 또는 코딩으로)



    TTable.EmptyTable; (코딩)



    3.무식하게 지우는 법



    Q1.First;

    While Not Q1.eof

    Q1.Delete;







  • Profile
    김정선 2000.03.11 07:44
    이러면 어떠하실지...



    소스를 보니 쿼리 컴폰넌트를 쓰시는거 같은데..



    with Q1 do

    begin

    Close;

    SQL.Clear;

    SQL.Add( 'DELETE FROM DB' );

    ExecSQL;

    end;





    행복하세요..





    - 어설푼 이 입니다 -



    봉주니 wrote:

    > 우선 저번에 제가 질문한 내용에 성실히 답변해 주신

    >

    > 김정선님과 류동균님께 감사의 말씀을 드립니다... ^^;

    >

    >

    > DB에 있는 모든 레코드를 한방에 지우고 싶습니다....

    >

    > 현재는

    >

    > While Not Q1.eof

    > begin

    > Q1.Delete;

    > Q1.Next;

    > end;

    >

    > 라는 아주아주 무식한 방법으로 지우고 있는데요..

    >

    > 이거 한방에 지우는 방법이 없을까요..--;

    >

    > 또다시 고수님들의 도움을 바랍니다..

  • Profile
    유레카 2000.03.11 20:23
    봉주니 wrote:

    > 우선 저번에 제가 질문한 내용에 성실히 답변해 주신

    >

    > 김정선님과 류동균님께 감사의 말씀을 드립니다... ^^;

    >

    >

    > DB에 있는 모든 레코드를 한방에 지우고 싶습니다....

    >

    > 현재는

    >

    > While Not Q1.eof

    > begin

    > Q1.Delete;

    > Q1.Next;

    > end;

    >

    > 라는 아주아주 무식한 방법으로 지우고 있는데요..

    >

    > 이거 한방에 지우는 방법이 없을까요..--;

    >

    > 또다시 고수님들의 도움을 바랍니다..



    쿼리문을 사용해보세요..

    Delete From 테이블명

    그리고 연속적으로 레코드삭제시는 Next를 쓰지 않으셔야 될것 같은데..



    좋은 하루되세요...



  • Profile
    영~ 2000.03.11 00:20
    봉주니 wrote:

    > 우선 저번에 제가 질문한 내용에 성실히 답변해 주신

    >

    > 김정선님과 류동균님께 감사의 말씀을 드립니다... ^^;

    >

    >

    > DB에 있는 모든 레코드를 한방에 지우고 싶습니다....

    >

    > 현재는

    >

    > While Not Q1.eof

    > begin

    > Q1.Delete;

    > Q1.Next;

    > end;

    >

    > 라는 아주아주 무식한 방법으로 지우고 있는데요..

    >

    > 이거 한방에 지우는 방법이 없을까요..--;

    >

    > 또다시 고수님들의 도움을 바랍니다..



    제가 아는 방법~

    참고하세요

    table1.first;

    white not table1.eof then

    table1.first;

    table1.delete;

    end;

  • Profile
    초짜 2000.03.11 02:45
    영~ wrote:

    > 봉주니 wrote:

    > > 우선 저번에 제가 질문한 내용에 성실히 답변해 주신

    > >

    > > 김정선님과 류동균님께 감사의 말씀을 드립니다... ^^;

    > >

    > >

    > > DB에 있는 모든 레코드를 한방에 지우고 싶습니다....

    > >

    > > 현재는

    > >

    > > While Not Q1.eof

    > > begin

    > > Q1.Delete;

    > > Q1.Next;

    > > end;

    > >

    > > 라는 아주아주 무식한 방법으로 지우고 있는데요..

    > >

    > > 이거 한방에 지우는 방법이 없을까요..--;

    > >

    > > 또다시 고수님들의 도움을 바랍니다..

    >

    > 제가 아는 방법~

    > 참고하세요

    > table1.first;

    > white not table1.eof then

    > table1.first;

    > table1.delete;

    > end;



    또다른방법

    TruncateTable Table_Name을 사용하면 됩니다.(Oracle)