안녕하세요. DB쿼리를 작성하다 보면 LEFT JOIN과 LEFT OUTER JOIN의 차이점이 뭐지?라는 생각을 하신 분들이 있으실 겁니다. 결론부터 말하면 LEFT JOIN 과 LEFT OUTER JOIN의 차이점은 없습니다. 둘은 같은 쿼리이며 같은 결괏값을 나타냅니다. LEFT OUTER JOIN을 LEFT JOIN으로 줄여서 사용하는 것이라 보면 됩니다. 저희가 INNER JOIN을 그냥 JOIN으로 사용하듯이 사용하는 거라고 보시면 됩니다. 예를 들어 아래와 같이 GRADE란 테이블과 CLASS란 테이블과 데이터들이 있습니다. 1. INNER JOIN 은 교집합의 데이터들을 가지고 오는 것으로 A테이블과 B테이블이 모두 가지고 있는 데이터만 가지고 옵니다. - INNER JOIN 과 JOIN을..
현재 유지보수를 진행하고 있는 시스템에서 위와 같은 오류가 발생하였습니다.. 현재 시스템은 트리거로 구성된 부분이 많은데 2018년도에 구축완료한 시스템인데.. 왜 이렇게 트리거를 사용한 건지 이해할 수 없네요... 그리고 더 최악인 건 모든 트리거에 커서를 사용하고 있기 때문에 점차적으로 속도가 계속 느려진다는 것입니다.. 여하튼 데이터를 일괄 저장하는 시점에 A cursor with the name '커서명' already exists The statement has been terminated 이란 오류가 발생했는데 해결을 위해 여러가지 방법을 시도해 보았으며, 저는 Local 커서로 지정하여 해결했습니다. 여러 해결 방법들을 같이 참고하시기 바랍니다. # 처리 방법 1) Local 커서로 처리 -..
안녕하세요. 쿼리를 짜다가 간혹 특정 월의 마지막 일자를 구해야될 때 아주 편리하게 사용할 수 있는 EOMONTH 함수 또는 직접 쿼리를 작성하여 특정 월의 마지막 일자를 구하는 방법을 알아보겠습니다. 1. EOMONTH 함수 활용 - SQL Server 2012 버전부터 오라클 SQL의 LAST_DAY 같은 기능인 EOMONTH() 함수를 활용해서 원하는 월의 마지막 날짜를 구할 수 있습니다. SELECT EOMONTH('년-월-일') 예시) SELECT EOMONTH('2023-08-22') 2. 쿼리 활용 (공통으로 사용 가능) - 쿼리를 직접 작성하여 사용할 수 있습니다. SELECT DATEADD (DAY, -1, DATEADD (MONTH, DATEDIFF (MONTH, 0, '년-월-일') ..
안녕하세요. 간혹 시스템 개발 및 유지보수를 진행하다 보면 테이블에 생성된 컬럼이 어떤용도로 사용되는지 알고 싶을 때가 많습니다. 특히 시스템 유지보수를 해본 분들이라면 100% 공감하실 겁니다. 테이블에 컬럼이 추가되어 있는데 이게 무슨 컬럼인지, 어떤의도로 만든건지에 대해 의문을 가질때가 상당히 많습니다. 그런 의미에서 컬럼 Comment를 조회해보고 확인하는게 중요하며 본인이 테이블에 컬럼을 추가하게 될 경우 Comment 추가해주는 행위 또한 습관화 해주는 게 좋습니다. 1. 컬럼 Comment 조회 SELECT OBJTYPE, OBJNAME, NAME, VALUE FROM ::FN_LISTEXTENDEDPROPERTY(NULL, 'SCHEMA', 'DBO', 'TABLE', '테이블명 ', 'C..
- Total
- Today
- Yesterday