울음참고 개발공부
bad SQL grammar []; nested exception is java.sql.BatchUpdateException: 키워드 'OPTION' 근처의 구문이 잘못되었습니다.
DBMS/MSSQL 2024. 10. 17. 10:49

[ 예외 구문 & 문제 ]  bad SQL grammar []; nested exception is java.sql.BatchUpdateException: 키워드 'OPTION' 근처의 구문이 잘못되었습니다.    "OPION"     MSSQL 에서 사용하는 예약어를 컬럼명으로 사용하여 조회하려 하는경우 발생     오타문제인줄알고 눈알빠져라 확인했는데 아니었음    [ 해결 ]  [ ] 로 감싸서 조회한다 ex) SLECT [OPRION] FROM YOUR_TABLE;     +) 추가  ; uncategorized SQLException; SQL state [S0001]; error code [102]; '1' 근처의 구문이 잘못되었습니다.; nested exception is java.sql.Ba..

article thumbnail
디비버(DBeaver) 에서 Oracle 연결 ( localhost 의 경우 )
DBMS/Oracle 2024. 3. 4. 14:03

[ 상황 ] 디비버를 사용하여 로컬호스트와 연결하려는 중 접속 오류발생 1. localhost 연결확인 [ 오류 ] ORA-12514: 데이터베이스에 접속할 수 없습니다. %s 서비스가 %s의 리스너에 등록되지 않았습니다. listner.ora 와 tnsnames.ora 파일을 변경할 것이다. - listner.ora - tnsnames.ora 나의 경우에는 host 가 localhost 가 아닌 다른 이름이 설정되어있었다. 2. 오라클 비밀번호 재설정 sqlplus 가 있는 경로에서 실행시켜준다. 비밀번호는 엔터를 입력하면 넘어간다. 그후 다음 명령어를 실행한다. alter user sys identified by 설정할 비밀번호; 설정할 비밀번호에는 1111 등 원하는대로 설정하면 된다. 3. use..

article thumbnail
MSSQL | DATETIME 타입 공백 표시 - CONVERT(),COALESCE(), ISNULL(), IS NULL
DBMS/MSSQL 2023. 10. 24. 10:56

2023년 10월 기준 검색 결과 처음 뜨는 내용이다.     DATETIME 을 그냥 IS NULL 로 처리하게 된다면 '1990-01-01' 과 같은 초기화 값을 얻게된다.   처리하는 방법을 알아보자     SELECT CASE WHEN ORDER_DATE IS NULL THEN ' ' ELSE ORDER_DATE END AS ORDER_DATE , CASE WHEN CONVERT(VARCHAR, ORDER_DATE, 120) IS NULL THEN ' ' ELSE ORDER_DATE END AS ORDER_DATE2 , ISNULL (CONVERT(VARCHAR,ORDER_DATE, 120), ' ') AS ORDER_DATE3 ..

article thumbnail
MSSQL | WITH(NOLOCK) , 트랜잭션의 격리 수준
DBMS/MSSQL 2023. 8. 14. 09:49

MSSQL 에서 WITH(NOLOCK)  을 사용하는 경우   MSSQL 은 기본적으로 SELECT 시 공유잠금(S Lock) 이 걸린다.이는 MSSQL 의 기본 격리수준(Isolation Level) 이 Read Committed 이기 때문이다.즉, DML(INSERT, UPDATE, DELETE) 작업중인 ROW 또는 TABLE 에 SELECT 할 경우,해당 작업이 끝나야 SELECT 할 수 있다는 의미이다.   만일 이렇게 수행된다면 DB의 성능은 떨어지고, 데드락(Deadlock) 이 발생될 수 있다. 이를 방지하기 위해 WITH(NOLOCK) 을 사용할 수 있다.WITH(NOLOCK) 의 격리수준(Isolation Level)은 Read Uncommitted 와 같다고 보면 된다. 즉, SELE..

article thumbnail
SQL | SELECT 1 FROM ~ - SELECT 문에서 1을 조회하는 경우
DBMS/Oracle 2023. 8. 9. 14:11

SELECT 1 FROM 테이블명 테이블의 행의 갯수만 큼 1을 반환 # 예시 SELECT * FROM QUOTES; [ 결과 ] SELECT 1 AS TEST FROM QUOTES; [ 결과 ] QUOTES 테이블의 행의 갯수만큼 1이 출력된다 어떤 상황에서 사용할까? 값의 존재여부를 확인하는 경우 SELECT CASE WHEN EXISTS ( SELECT 1 FROM QUOTES WHERE CATEGORY = '인생' ) THEN 'TRUE' ELSE 'FALSE' END AS CATEGORY_EXISTS; [ 결과 ] 서브쿼리에서 사용하는 경우 "USER" 테이블의 "USER_ID"가 1이고, "ROLE_DTL" 테이블에 존재하는 사용자의 ID와 일치하는 경우를 조회하는 쿼리 SELECT USER_..

article thumbnail
sqldeveloper | 데이터베이스 접속 오류
DBMS/Oracle 2023. 6. 8. 11:10

[ 문제상황 ] db 접속을 해야하는데 계속 오류가 나는 상황이다 lsnrctl services cmd 창에서 해당 명령어를 통해 호스트 이름, 포트 , SID 명을 확인할 수 있다. 설치시 SID name 을 orcle 로 기본설정하였는데 저기서는 xe로 되어있음 hostname이나 포트도 마찬가지이고 참고해서 바꿔서 진행해보면 될 것 같다 참고로 나는 저걸 바꿔도 안되는 상황이라 뭔지모르겠다 원래는 저런 오류가 없었는데 재설치하고 어찌저찌하다보니 생겼다........ 후...... 해결 >>>> 위의 방법은 로컬 db에서 사용하고자 할때 하는 방법이고, 나는 원격 db 를 사용하기 때문에 해당 데이터베이스의 호스트네임과 포트번호등을 이용하여야했다.

article thumbnail
Oracle | JOIN 에서 KEY의 관계
DBMS/Oracle 2023. 6. 2. 17:00

대표적으로 2가지 JOIN 에 대해서만 다루자 INNER JOIN NULL 을 허용하지 않을 때의 JOIN LEFT OUTTER JOIN NULL 이 있어도 상관 없음 ~ 오늘 다룰 주제는 JOIN 할 때 KEY 의 관계이다 조인을 사용하여 두 개의 테이블을 엮어 원하는 데이터를 추출할 수 있다. 이때, 두 테이블에서 키의 관계는 기본키(PK)와 외래키(FK) 관계로 맺어져야하고 이를 일대다 관계라 한다. [ 예시 ] 지점의 매출을 조회하는 쿼리를 작성하던 중 이런 결과를 얻게됐는데 정답보다 어마무시하게 큰 숫자가 나와버렸다. JOIN 을 걸 때, 같은 컬럼명이 있다면 냅다 다 연결해버렸는데 나중에 뜯어보니 관계가 이랬다. PF ↔ PF PF ↔ P P ↔ F 정확하게 말할순없지만 PF도 외래키라 외래키..

article thumbnail
Oralce | COALESCE 함수
DBMS/Oracle 2023. 6. 2. 11:28

COALESCE > 문법 SELECT COALESCE( A,B) FROM TABLE; A,B 는각각 컬럼을 뜻한다. COALESCE 함수는 NULL 이 아닌 값을 리턴하는데, A가 NULL 이아니면 A를 리턴하다가 NULL 값을 가지면 B를 리턴한다. COALESCE(A,B,C ''' ) 이런식으로 N개의 컬럼을사용할 수 있다. > 예시 SELECT COALESCE(ITEM_NAME, '총 합계') AS 상품 , SUM(합계) AS 합계 FROM ( 생략 ) COALESCE 함수만 설명하기 위해 이하 쿼리는생략했다. 해당 쿼리는 ITEM_NAME을 리턴하고 마지막에 모든 합계를 계산 하는 쿼리이다. COALESCE(ITEM_NAME, '총 합계') 를 이용하여 ITEM_NAME 을 모두 리턴하고 NULL..