반응형

Database/Oracle 4

[Oracle] LAG, LEAD 알아보기

LAG함수와 LEAD함수의 정의 및 구조 LAG 함수 : 자체 조인을 사용하지 않고 이전 행을 리턴하는 함수 LEAD 함수: 자체 조인을 사용하지 않고 다음 행을 리턴하는 함수 LAG(expression [, offset] [, default]) OVER ( [ query_partition_clause ] order_by_clause ) LEAD(expression [, offset] [, default]) OVER ( [ query_partition_clause ] order_by_clause ) expression: 값을 가져올 컬럼 offset: 값을 가져올 행의 위치. 생략 가능, 기본값은 1 default: 값이 없을 경우 리턴할 기본 값. 생략 가능 query_partition_clause: ..

Database/Oracle 2022.01.06

[Oracle] 예약어 확인(ORA-00903 / ORA-00904)

USER라는 테이블을 생성합니다. CREATE TABLE USER ( ID VARCHAR2(10) ); 이 간단한 DDL은 ORA-00903: invalid table name오류를 냅니다. 그 이유는 테이블명을 오라클 예약어로 사용했기때문입니다. CREATE TABLE "USER" ( ID VARCHAR2(10) ); 위와 같이 쌍따옴표(")로 감싸주면 됩니다. 하지만 테이블을 조회해보면 같은 오류가 발생합니다. 이 역시 쌍따옴표(")로 감싸주면 되지만 매번 이러기 불편합니다. 이런경우 예약어를 피해서 테이블명을 만들어주는 것이 편할 수 있습니다. SELECT * FROM V$RESERVED_WORDS 위의 쿼리를 통해 예약어를 확인 할 수 있습니다. 또한 테이블 생성시 ORA-00904: invali..

Database/Oracle 2021.02.17

[ORACLE] DDL, DML, DCL

SQL문은 다루는 객체, 용도에 따라 DDL, DML, DCL(+TCL)로 분류 할 수 있습니다. DCL에서 COMMIT, ROLLBACK, SAVEPOINT를 따로 분리하여 TCL(Transaction Control Languaage)라고 표현하기도 합니다. 각각 어떤 명령어가 있고 주로 어떤식으로 사용되는지 함께 정리했습니다. DDL(Data Definition Language) : 데이터 정의어 : 관계형 데이터베이스의 구조를 정의합니다. CREATE : TABLE, VIEW, INDEX, PROCEDURE를 만드는 역할을 합니다. TABLE : CREATE TABLE table_name ( column1 datatype, column2 datatype, ... columnN datatype); V..

Database/Oracle 2020.06.24