본문 바로가기
컴퓨터관련/툴관련

[DBeaver]디비버에서 쿼리 종료 문자를 공백에서 세미콜론으로

by 빛과 어둠사이 2024. 2. 7.
728x90
반응형
SMALL

저는 DB툴로 디비버를 제일 많이 사용하고 있습니다.

우선 무료이고, 그리드에서 수정도 됩니다.

그리고 특정 DB만 되는 것이 아닌

Oracle, MS Sql, My SQL, PostgreSQL 등등

여러 DB를 지원해줍니다.

무료인데 이런것까지 되니 저는 제일 많이 사용을 하는 DB툴입니다.

 

 

그런데 얼마 전에 사정이 있어서

DBeaver를 재설치 하였습니다.

재설치 하였더니 쿼리 종료문자가 공백(엔터)로 변경이 되었더라고요.

 

하나의 쿼리인데 여러줄 엔터가 쳐져있으면

다른 쿼리로 인식을 하는 문제가 발생되었습니다.

저는 세미콜론으로 쿼리를 나누기 때문에

엔터를 여러줄 치는 경우도 있거든요.

 

그래서 이렇게 공백문자(엔터)를 기준으로 쿼리를 나누는 것이 아닌,

세미콜론으로 쿼리 종료문자를 인식하고

처리되게끔 하도록 설정하는 방법을 정리해보도록 하겠습니다.

 

 

1. 샘플 쿼리 작성

우선 샘플로 쿼리를 작성해보았습니다.

예제 쿼리는 아래처럼 작성하였습니다.

 

SELECT * FROM (
SELECT '1' AS tmp FROM dual
UNION SELECT '2' FROM dual
UNION SELECT '3' FROM dual
UNION SELECT '4' FROM dual
UNION SELECT '5' FROM dual
UNION SELECT '6' FROM dual
UNION SELECT '7' FROM dual
UNION SELECT '8' FROM dual
UNION SELECT '9' FROM dual
) 




WHERE tmp = 1
;

 

위처럼 작성하을 하였습니다.

UNION으로 1부터 9까지 그냥 숫자를 출력하도록 쿼리를 하나로 만들고,

WHERE 절에 TMP값을 조건으로 넣어서

한개만 나오도록 쿼리를 작성해보았습니다.

 

위처럼 쿼리를 작성하였습니다.

그리고 실행을 하게 되면 결과는 아래처럼 나오게 됩니다.

 

위처럼 나오게 됩니다.

엔터로 쿼리를 나누다보니 WHERE절이 적용 안된 것입니다.

그러니 1부터 9까지 모두 나오게 된 것입니다.

이것은 DBeaver에서 간단한 설정으로 조치할 수 있습니다.

조치 방법은 다음과 같습니다.

 

 

 

2. DBeaver - 윈도우 - 설정

위 메뉴로 들어갑니다.

 

 

 

3. 편집기 - SQL 편집기 - SQL 실행

해당 메뉴로 들어갑니다.

그러면 "Blank Line is statement delimiter" 라는 체크박스가 보입니다.

이 곳이 체크가 되어 있을 것입니다.

 

위처럼 체크가 되어 있으면 공백문자(엔터)를 쿼리의 끝으로 보는 입니다.

 

4. 체크해제 후 저장

위 체크되어있는 것을 체크해제 후

저장해주시면 되십니다.

 

 

위처럼 체크해제하고 적용버튼으로 저장을 해주시면 되십니다.

 

반응형

 

 

6. 쿼리 실행

이제 1번에서 실행했던 쿼리를 다시 실행해보도록 하겠습니다.

그러면 결과는 아래처럼 나오게 됩니다.

 

 

위처럼 WHERE절이 적용되어 1만 나오는 것을

확인할 수 있습니다.

 

 

 

 

 

오늘은 디비버에서 쿼리의 끝을 공백문자(엔터)가 아닌

세미콜론으로 설정하는 방법에 대해서 알아보았습니다.

DBeaver 외에 다른 툴들에서는 세미콜론으로 쿼리를 나누는 경우가 많다 보니

세미콜론이 저도 편하네요.

 

또한 WAS Log를 보다 보면 엔터가 들어간 쿼리들도 많이 보이는데

이걸 가져다가 바로 실행할 수도 있어서 편하고 좋네요.

엔터로 구분되어 쿼리를 나누는 것이 싫으신 분들은

이렇게 설정하셔서 세미콜론으로 쿼리를 나눠서 실행하면 좋을 것 같네요.

 

SMALL

 

이상으로 디비버에서 쿼리 종료를 엔터(공백문자)가 아닌,

세미콜론으로 변경하는 방법이였습니다~

 

 

 

 

 

 

 

그림으로 공부하는 오라클 구조, 제이펍

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

728x90
반응형
LIST