본문 바로가기
728x90

전체 글1350

[ORACLE] USER() 함수 개념 정리 및 실습 가이드 1. USER 함수란?Oracle의 USER 함수는 현재 SQL 문을 실행하고 있는 데이터베이스 사용자 이름을 반환하는 단순하지만 매우 유용한 내장 함수입니다. 일반적으로 인증된 세션에서 사용자의 식별을 위해 활용되며, 보안 로직, 트리거, 감사 로그 등 다양한 영역에서 쓰입니다.2. 기본 문법SELECT USER FROM DUAL;위 SQL은 현재 접속한 사용자의 계정명을 출력합니다. 예를 들어 SCOTT 계정으로 접속한 경우, 결과는 SCOTT입니다.3. USER 함수와 관련된 예제3.1 현재 사용자 확인SELECT USER AS CURRENT_USER FROM DUAL; 3.2 트리거에서 USER 사용하기CREATE OR REPLACE TRIGGER trg_audit_logBEFORE INSERT.. 2025. 6. 7.
[ORACLE] UID() 함수로 사용자 추적 로직 구현하기 1. Oracle UID 함수란?Oracle 데이터베이스에서 UID 함수는 현재 세션이 사용하는 사용자 계정의 고유 식별자(User ID)를 반환합니다. 반환되는 값은 해당 사용자의 USER_ID이며, 이는 ALL_USERS 또는 DBA_USERS 뷰에서 확인할 수 있는 값과 일치합니다.2. 기본 사용법SELECT UID FROM DUAL;위 쿼리를 실행하면, 현재 세션의 사용자가 어떤 USER_ID를 가지고 있는지를 확인할 수 있습니다. 결과는 정수형 숫자이며, 예를 들어 101 같은 값이 반환됩니다.3. UID 함수와 USER 함수 비교항목UID()USER반환 타입NUMBERVARCHAR2반환 값사용자의 내부 ID사용자의 이름사용 목적정수 기반 사용자 식별문자 기반 사용자 확인4. UID 함수 실전 .. 2025. 6. 7.
[ORACLE] USERENV() 함수로 접속 정보와 세션 상태 추적하기 1. USERENV 함수란?USERENV는 Oracle Database에서 사용자의 환경 및 세션 정보를 조회하기 위한 내장 함수입니다. 보통 PL/SQL 트리거나 감사 로그 등에서 접속 정보, OS 사용자, 인증 방법 등을 추적하기 위해 사용됩니다.2. 기본 문법USERENV(parameter)parameter는 문자열이며, USERENV가 반환할 정보를 지정합니다.3. 주요 파라미터 목록 및 설명파라미터설명예시 결과ISDBA현재 사용자가 DBA 권한을 가지고 있는지 여부TRUE / FALSELANGUAGE데이터베이스 언어 및 문자셋AMERICAN_AMERICA.AL32UTF8SESSIONID세션 식별자12345TERMINAL사용자의 터미널 이름 또는 접속 IPpts/2 또는 192.168.0.5AUT.. 2025. 6. 7.
[ORACLE] SYS_CONTEXT() 함수로 사용자, 세션, IP 정보 확인하는 방법 1. SYS_CONTEXT 함수란?SYS_CONTEXT 함수는 Oracle에서 사용자의 세션, 네트워크, 인증 등의 환경 정보를 동적으로 조회할 수 있도록 해주는 내장 함수입니다. 주로 보안 감사, 사용자 추적, 커스터마이징 된 트리거나 정책 기반 제어 로직을 구현할 때 활용됩니다.기본 문법:SYS_CONTEXT('namespace', 'parameter' [, length])namespace: 컨텍스트 영역 이름 (주로 'USERENV')parameter: 조회할 항목명 (예: 'SESSION_USER')length: 반환 문자열의 최대 길이 (생략 가능)2. USERENV 콘텍스트의 주요 파라미터가장 널리 사용되는 namespace는 'USERENV'입니다. 다음은 주요 파라미터 목록입니다.파라미터설.. 2025. 6. 7.
[ORACLE] CASE() 함수 사용법과 DECODE, IF-ELSE와의 차이점 비교 1. CASE 함수란?Oracle의 CASE 함수는 SQL 문 내에서 조건에 따라 서로 다른 결과를 반환할 수 있도록 하는 조건 분기 함수입니다. 다양한 조건 처리와 복잡한 로직을 명확하게 표현할 수 있어 보고서 작성, 데이터 분석, 비즈니스 로직 구현 등 실무에서 매우 유용하게 활용됩니다. CASE 함수는 표준 SQL 문법을 따르며, DECODE 함수보다 더 유연한 분기 처리를 지원합니다.2. CASE 함수의 문법CASE 함수에는 두 가지 문법 형식이 있습니다.2-1. 단순 CASE 표현식CASE expr WHEN value1 THEN result1 WHEN value2 THEN result2 [...] ELSE default_resultEND2-2. 검색 CASE 표현식CASE WHEN co.. 2025. 6. 7.
[ORACLE] DECODE() 함수로 IF-ELSE 로직을 SQL에서 구현하는 방법 1. DECODE 함수란?DECODE 함수는 Oracle에서 조건에 따라 다른 값을 반환하는 조건 분기 함수입니다. IF-ELSE 또는 CASE 문과 유사하게 작동하지만, 간결한 문법 덕분에 간단한 분기 처리에 매우 유용합니다. 기본 문법은 다음과 같습니다:DECODE(expr, search1, result1 [, search2, result2, ...] [, default])expr: 비교할 대상 값search: 비교값result: 일치할 경우 반환할 결과default (선택): 일치하는 값이 없을 경우 반환2. 기본 사용 예제직원의 직급을 코드로 관리하면서, 해당 코드를 직급명으로 변환하는 간단한 예제입니다.SELECT EMP_ID, JOB_GRADE, DECODE(JOB_GRA.. 2025. 6. 7.
728x90