여러 테이블에서 특정 컬럼을 가지며, 그 값의 조건을 찾아서 삭제하는 쿼리문


하고자 하는 행위는 다음과 같습니다.

  1. 여러 테이블이 있고, 어떤 테이블은 NAME이란 컬럼이 있거나 없다.
  2. NAME 칼럼에 김개똥 이 들어 있으면 그 행을 지운다.
  3. 이걸 SQL 문장 하나로.

특정한 컬럼명을 가진 전체 테이블 리스트를 반환하는 SQL문

SELECT TABLE_NAME FROM information_schema.COLUMNS where COLUMN_NAME =  '찾고자 하는 컬럼 이름'

근데 이걸 이렇게 쓸 수는 없잖습니까.

DELETE (위의 문장) where 컬럼이름=지울값

테이블이름 들어가야 할 자리에 변수가 안되는게 문제인데.....

노하우 공유해 주시면 감사하겠습니다.

  • 2017년 12월 21일에 작성됨

조회수 130


1 답변


프로시저로 for loop 돌려서 테이블마다 해당 컬럼이 있는지 확인하고,

있는 경우 삭제하면 가능하지 않을까요??

  • 2017년 12월 21일에 작성됨
    Software Developer

  • 커서를 이용해서 하는건 할 수 있습니다. 그러지않고 쿼리 하나로 처리하는법이 있을거같아서요    광자   2017.12.22 00:41     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close