DB 14

[MYSQL] Mybatis CRUD DML 생성 SQL

1. Mybatis CRUD DML 생성 SQL /* 경고: 이 쿼리를 실행하기 전에 group_concat_max_len 설정을 확인하고 필요시 늘려야 합니다. 예: SET SESSION group_concat_max_len = 1000000; 이 쿼리는 MySQL 8.0 이상 버전이 필요합니다 (윈도우 함수 사용). */ SELECT -- SELECT Script Generation CONCAT('SELECT ', GROUP_CONCAT(DISTINCT CONCAT('A.', RPAD(T.COLUMN_NAME, T.MAX_LENGTH, ' '), ' AS ', RPAD(T.COLUMN_NAME, T.MAX_LENGTH, ' '), ' -- ', ..

DB/MYSQL 2025.04.30

[ORACLE] 다른 테이블에서 특정 코드 데이터가 있는지 확인하는 FUNCTION

1. SI 프로젝트 진행시 대개 PL이 ERD를 그릴때 테이블간 FK를 연결해놓는다. 2. 그런데, ERD를 각 개개인이 담당하는 업무별로 작성하다보니 본인의 업무내에서는 FK가 연결이 되는데 타업무와는 연결이 안 되는 경우가 있었다. 3. 예컨대, 회계업무에서 관리하는 거래처코드를 급여업무에서 사용하고 있었는데 거래처코드가 삭제 되어 버린다던지.. (실제로 일어난 일) 4. 위 상황을 구현 단계에서 방어 할 수 있지 않을까 싶다. ※ 구현 스크립트 내의 TF_SPLIT_TO_ROW TABLE FUNCTION은 아래 링크에서 확인 할 수 있다. [ORACLE] 구분자로 분리하여 행으로 반환하는 TABLE FUNCTION 1. 우선 RETURN 받을 ROW의 COLUMN TYPE OBJECT를 생성 컬럼이..

DB/ORACLE 2023.09.27

[ORACLE] 텍스트 균등분할(균등정렬) FUNCTION

출력물을 개발하는데, 출력물 툴이 html 버전에서는 균등분할을 지원하지 않는다 오피셜 답변은 아래와 같다. ____________________________________________________________________________________ 안녕하세요. 기술개발팀입니다. 텍스트 상자 서식의 경우 WS 뷰어에서만 적용되는 속성으로 HTML 뷰어에서는 제공되지 않는 기능입니다. HTML 뷰어에서 글자 간격을 조절하기 위해서는 공백문자를 사용하여 조절해주셔야 합니다. 감사합니다. ____________________________________________________________________________________ 그리하여 Bing AI 도움을 받았다. DECLARE INPU..

DB/ORACLE 2023.08.18

[MSSQL] Function-Based Index

MSSQL에서는 Function-Based Index라는 개념이 없다고 함. 그러나, 계산된 열(Computed Column)을 사용하여 비슷한 기능을 구현할 수 있다고 함.(Oracle의 virtual 컬럼과 동일한 기능인 듯 싶음) 1. 테이블 생성CREATE TABLE MY_TABLE ( ID INT, FIRST_NAME VARCHAR(20), LAST_NAME VARCHAR(20)); 2. Computed Column 추가 ALTER TABLE [MY_TABLE] ADD FULL_NAME AS CONVERT(NVARCHAR(100), TRIM(FIRST_NAME + ' ' + LAST_NAME)); 3. 인덱스 추가CREATE INDEX FULL_NAME_IDX ON MY_TABL..

DB/MSSQL 2023.07.04

[ORACLE] BETWEEN 주의사항

1. 단일 일자의 데이터가 있고 프로그램 조회조건이 FROM ~ TO로 되어 있다면 BTWEEN을 통해서 간단히 데이터를 추출해 낼 수 있다. WITH TEMP AS ( SELECT '20220711' AS DT FROM DUAL ) SELECT A.DT AS DT FROM TEMP A WHERE A.DT BETWEEN '20220708' AND '20220712' 2-1. 데이터도 FROM ~ TO, 조회조건도 FROM ~ TO로 되어 있다면 어떻게 하면 될까? 우선 BETWEEN을 두번 쓰면 데이터가 나오는 것처럼 보인다. WITH TEMP AS ( SELECT '20220711' AS STT_DT , '20220717' AS END_DT FROM DUAL ) SELECT A.STT_DT AS STT..

DB/ORACLE 2022.07.11

[MSSQL] MAX KEEP

아래와 같은 데이터가 있을 때, 각 JOB별로 가장 많은 SALARY의 NAME을 알고 싶다면 설계자 ☞ 송차장 750 개발자 ☞ 정사원 160 ORACLE은 아래와 같이.. WITH EMP AS ( SELECT '남이사' AS NAME , '설계자' AS JOB , 700 AS SALARY FROM DUAL UNION ALL SELECT '이부장' AS NAME , '설계자' AS JOB , 680 AS SALARY FROM DUAL UNION ALL SELECT '송차장' AS NAME , '설계자' AS JOB , 750 AS SALARY FROM DUAL UNION ALL SELECT '강대리' AS NAME , '개발자' AS JOB , 80 AS SALARY FROM DUAL UNION ALL..

DB/MSSQL 2022.06.30