본문 바로가기
728x90

SQL18

[ORACLE] GRANT() 권한 부여 문법과 실무 예제 완벽 정리 1. GRANT란 무엇인가?GRANT는 Oracle Database에서 특정 사용자에게 데이터베이스 리소스에 대한 권한(Privilege)을 부여하는 명령어입니다. 권한은 테이블에 대한 SELECT, INSERT와 같은 DML 권한이나 사용자 생성과 같은 시스템 권한으로 나뉩니다.2. GRANT의 기본 구조GRANT 권한명 [, ...] TO 사용자명 [, ...];여러 권한과 여러 사용자에게 동시에 부여할 수 있습니다.3. 객체 권한(OBJECT PRIVILEGES)SELECTINSERTUPDATEDELETEREFERENCESINDEX예제: 테이블에 SELECT 권한 부여GRANT SELECT ON hr.employees TO dev_user;dev_user는 hr.employees 테이블에 대해 SE.. 2025. 6. 9.
[ORACLE] SYNONYM() 시노님 개념부터 생성 예제까지 완전 정복 1. SYNONYM이란 무엇인가?SYNONYM(시노님)은 Oracle에서 테이블, 뷰, 시퀀스, 프로시저, 함수 등 다양한 객체에 대해 별칭을 만들어주는 객체입니다. 다른 사용자 스키마의 객체를 보다 간단하게 참조하거나, 객체명을 추상화할 때 주로 사용됩니다.2. SYNONYM의 필요성객체명을 짧고 단순하게 줄이기 위해스키마명을 노출하지 않고 참조하기 위해다른 사용자 스키마의 객체에 접근을 간단하게 만들기 위해애플리케이션 유지보수 시 객체명을 변경하지 않아도 되게 하기 위해3. SYNONYM의 종류종류설명스코프PRIVATE SYNONYM특정 사용자 스키마에만 존재사용자 단위PUBLIC SYNONYM모든 사용자에게 동일하게 노출데이터베이스 전체4. PRIVATE SYNONYM 생성 예제CREATE SYNO.. 2025. 6. 9.
[ORACLE] UPDATE() 기본 문법부터 실전 예제까지 완전 정리 Oracle Database에서 데이터를 수정하려면 UPDATE 문을 사용합니다. 본 글에서는 UPDATE 문법의 기본부터 실무에서 자주 사용되는 다양한 예제까지 상세히 설명합니다. 초보 개발자뿐 아니라 실무자도 바로 활용할 수 있도록 구성했습니다.1. UPDATE 문이란?UPDATE 문은 테이블 내 기존 데이터를 변경하는 데 사용하는 SQL 구문입니다. 데이터를 삽입하는 INSERT, 삭제하는 DELETE와 함께 DML(Data Manipulation Language)의 핵심입니다.기본 문법UPDATE 테이블명SET 컬럼1 = 값1, 컬럼2 = 값2WHERE 조건;※ WHERE 절이 없다면 테이블 전체가 수정되므로 주의해야 합니다.2. 단일 행 업데이트 예제UPDATE employeesSET salar.. 2025. 6. 8.
[ORACLE] MERGE() 문법 완전 정리 : INSERT와 UPDATE를 동시에 처리하기 Oracle SQL에서 MERGE 문은 데이터베이스 테이블 간의 데이터를 조건에 따라 삽입하거나 수정(UPSERT)할 수 있는 매우 강력한 기능입니다. 특히 데이터 마이그레이션, 데이터 동기화, 배치 작업 등에서 필수적으로 사용됩니다. 이 글에서는 MERGE 문을 실무 예제 중심으로 깊이 있게 설명합니다.1. MERGE 문이란?MERGE는 하나의 SQL 문으로 INSERT 또는 UPDATE를 동시에 수행할 수 있도록 도와주는 DML 구문입니다. 조건에 따라 해당 데이터가 존재하면 UPDATE, 존재하지 않으면 INSERT를 수행합니다.기본 문법MERGE INTO 대상테이블 별칭1USING 소스테이블 별칭2ON (조건)WHEN MATCHED THEN UPDATE SET 컬럼 = 값WHEN NOT MATC.. 2025. 6. 8.
[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.
728x90