Database (7)
-
[MSSQL] 파티션 테이블Database 2023. 9. 22. 15:19
기존에 가지고 있던 특정 테이블을 파티션테이블로 교체하는 작업 쿼리 기록. 파일그룹을 분리할지 기본 파일그룹에 추가하여 사용할지를 먼저 정해야한다. DB서버에 드라이브가 따로 분리되어있는 경우는 파일그룹을 분리하여 운영하면 디스크 부하를 줄일 수 있으나, 만약 DB 서버 드라이브가 1개라면 크게 의미가 없다. 소요시각을 확인하기 위해서, 로그 기록용 아래 변수를 선언해두고 사용하기로 한다. DECLARE @V_LOG_DESC VARCHAR(1000) 앞서 말했던 파일그룹 분리 케이스의 경우 1~2를 수행해야하는데, 기본 그룹 PRIMARY 를 사용할 경우 생략한다. 파일그룹 생성 ALTER DATABASE haileydb ADD FILEGROUP FG_MSG_LOG ; --ALTER DATABASE ha..
-
[MSSQL] 프로시저 기본 포맷Database 2023. 7. 7. 14:25
프로시저 생성 기본 포맷 샘플 기본 IN/OUT 파라미터 주석 포맷 변수 선언 로그 기록 TRY CATCH 등등 CREATE PROCEDURE BATCH.SP_COMMON @P_SEQ_ID VARCHAR(32) ,@P_WK_DT VARCHAR(8) ,@O_RST VARCHAR(2) OUTPUT ,@O_RST_MSG NVARCHAR(4000) OUTPUT AS /***************************************************************************** 설명 @AUTHOR : @DATE : @PARAM : DECLARE @P_SEQ_ID VARCHAR(32) = 'P' ,@P_WK_DT VARCHAR(8) = COM.TO_CHAR(GETDATE()-2, 'YY..
-
[Oracle] SYS_CONTEXT 함수로 현재 세션 환경 조회Database 2022. 12. 15. 17:02
기본 문법 SYS_CONTEXT ('USERENV', 'parameter') USERENV 가 현재 세션의 값을 조회하기 위한 파라미터이다. 참고 : https://docs.oracle.com/cd/E11882_01/olap.112/e23381/row_functions079.htm#OLAXS472 SYS_CONTEXT SYS_CONTEXT SYS_CONTEXT returns the value of an attribute of a named context. The context, attribute, and value must already be defined in the database. If the context is not defined, SYS_CONTEXT returns NULL. Return Va..
-
[Oracle] 프로시저 실행 후 리턴 값 출력Database 2022. 5. 26. 15:06
프로시저 실행 결과를 OUT_MSG 변수에 리턴받아 출력하는 기본 구문 DECLARE OUT_MSG VARCHAR2(200); OUT_CURSOR SYS_REFCURSOR; BEGIN CALL_PROCEDURE_NAME('PARAM1', 'PARAM2', OUT_MSG); DBMS_OUTPUT.PUT_LINE('============================='); DBMS_OUTPUT.PUT_LINE('OUT_MSG : ' || OUT_MSG); -- RESULT 타입이 커서인 경우 DBMS_SQL.return_result(OUT_CURSOR); COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; DBMS_OUTPUT.PUT_LINE('===================..
-
[Oracle] 프로시저로 정기 메일 발송하기Database 2020. 6. 2. 15:09
ORACLE 에서 프로시저를 통해 HTML 형식을 만든 후 SMTP 프로토콜로 메일을 발송하는 쿼리를 작성해본다. 샘플은 배치를 통해 월별 판매 현황을 보고하는 예제이다. 먼저 보내야 할 메일을 저장할 테이블을 하나 만든다. CREATE TABLE TB_MAIL_HISTORY ( EMAIL_ADDR VARCHAR2(50 CHAR) NOT NULL, TITLE VARCHAR2(100 CHAR) NULL, MESSAGE CLOB NULL, SEND_CHK CHAR(1 CHAR) NULL, CREATED DATE NOT NULL SEND_DT DATE NULL ) ; COMMENT ON TABLE TB_MAIL_HISTORY IS '이메일 발송 내역'; COMMENT ON COLUMN TB_MAIL_HISTO..