DATABASE/SQL, PL-SQL

PL/SQL 식별자 - 1

devstep88 2021. 1. 17. 21:53

식별자(Identifier)

 PL/SQL 프로그램 구성 요소의 이름을 의미.

구성요소        설명
상수 한 번 지정된 값을 바꿀 수 없는 값
 변수 할당된 값을 변경시킬 수 있는 값
 커서 데이터베이스에 지정된 값을 접근하기 위한 구조
예외  PL/SQL 실행 중에 발생하는 예외 상항
레이블 PL/SQL의 블록 또는 문장에 대한 이름
서브프로그램 호출 가능한 함수(Function)와 프로시저(Procedure)
트리거 특정 이벤트 발생 시 데이터베이스에 의해 자동적으로 호출되는 저장 서브프로그램
패키지 타입, 상수, 변수, 예외, 커서, 서브프로그램 등을 모듈화한
저장 서브프로그램
객체 타입  관계형 DB에 객체 지향 프로그래밍을 가능하게 하는
프로그램 요소
예약어 내부적으로 사용하기 위해 예약된 단어
키워드 오라클 PL/SQL 문법에서 사용되는 핵심 단어

PL/SQL 프로그램의 모든 구성 요소들은 각각을 유일하게 식별할 수 있도록 하는 식별자를 가진다.

당연한 말이지만 식별자를 구성하는 문자 중 하나라도 다르면 서로 다른 식별자이다.

단 식별자명을 큰따옴표로 감싼 경우가 아니라면 대소문자를 구별하지 않는다는 데 주의해야 한다. 

식별자 사이에는 최소한 하나의 공백 문자나 구분자가 와야 한다.

 

-PL/SQL 예약어

시작 문자 예약어
A ALL, ALTER, AND, ANY, AS, ASC, AT
B BEGIN, BETWEEN, BY
C CASE, CHECK, CLUSTERS. CLUSTER, COLAUTH, COLUMNS, 
COMPRESS, CONNECT, CRASH, CREATE, CURSOR
D DECLARE, DEFAULT, DESC, DISTINCT, DROP
E ELSE, END, EXCEPTION. EXCLUSIVE
F FETCH, FOR, FROM, FUNCTION
G GOTO, GRANT, GROUP
H HAVING
I IDENTIFIED, IF, IN, INDEX, INDEXES, INSERT, INTERSECT, IS,
INTO
L LIKE, LOCK
M MINUS, MODE
N NOCOMPRESS, NOT, NOWAIT, NULL
O OF, ON, OPTION. OR, ORDER, OVERLAPS
P PROCEDURE, PUBLIC
R RESOURCE, REVOKE
S SELECT, SHARE, SIZE, SQL, START, SUBTYPE
T TABAUTH, TABLE, THEN, TO, TYPE
U UNION, UNIQUE, UPDATE
V VALUES, VIEW, VIEWS
W WHEN, WHERE, WITH

 

-PL/SQL 키워드 목록

시작 문자 키워드
A A, ADD, ACCESSIBLE, AGENT, AGGREGATE, ARRAY, AUTHID, AVG, ATTRIBUTE
B BFILE_BASE, BINARY, BLOB_BASE, BLOCK, BODY, BOTH, BOUND, BULK, BYTE
C C, CALL, CALLING, CASCADE, CHAR, CHAR_BASE, CHARACTER, CHARSET, CHARSETFORM, CHARSETID, CLONE, CLOB_BASE, CLOSE, COLLECT, COMMIT, COMMENT, COMMITTED, COMPILED, CONSTANT, CONSTRUCTOR, CONTEXT, CONTINUE, CONVERT, COUNT, CREDENTIAL, CURRENT, CUSTOMDATUM
D DANGLING, DATA. DATE. DATE_BASE. DAY. DEFINE, DELETE, DETERMINISTIC, DIRECTORY, DOUBLE, DURATION
E ELEMENT, ELSIF, EMPTY, ESCASE, EXCEPT, EXCEPTIONS, EXECUTE, EXISTS, EXIT, EXTERNAL
G GENERAL
H HASH, HEAP, HIDDEN, HOUR
I IMMEDIATE, INCLUDING, INDICATOR, INDICES, INFINITE, INSTANTIABLE, INT, INTERFACE, INTERVAL, INVALIDATE, ISOLATION
J JAVA
L LANGUAGE, LARGE, LEADING, LENGTH, LEVEL, LIBRARY, LIKE2, LIKE4, LIKEC. LIMIT, LIMITED, LOCAL, LONG, LOOP
M MAP, MAX, MAXLEN, MEMBER, MERGE, MIN. MINUTE, MOD, MODIFY, MONTH, MULTISET
N NAME, NAN, NATIONAL, NATIVE, NCHAR, NEW, NOCOPY, NUMBER_BASE
O OBJECT, OCICOLL, OCIDATE, OCIDATETIME, OCIDURATION, OCIINTERVAL, OCILOBLOCATOR, OCINUMBER, OCIRAW, OCIREF, OCIREFCURSOR, OCIROWID, OCISTRING, OCITYPE, OLD, ONLY, OPAQUE, OPEN, OPERATOR, ORACLE, ORADATA, ORGANIZATION, ORLANY, ORLVARY, OTHERS. OUT, OVERRIDING 
P PACKAGE. PARALLEL_ENABLE, PARAMETER, PARAMETERS. PARENT, PARTITION, PASCAL, PIPE, PIPELINED, PLUGGABLE, PRAGMA, PRECISION, PRIOR, PRIVATE
R RAISE, RANGE, RAW, READ, RECORD, REF, REFERENCE, RELIES_ON, REM, REMAINDER, RENAME, RESULT, RESULT_CACHE, RETURN, RETURNING, REVERSE, ROLLBACK, ROW
S SAMPLE, SAVE, SAVEPOINT, SB1, SB2, SB4, SECOND, SEGMENT, SELF, SEPARATE, SEQUENCE, SERIALIZABLE, SET, SHORT, SIZE_T, SOME, SPARSE, SQLCODE, SQLDATA, SQLNAME, SQLSTATE, STANDARD, STATIC, STDDEV, STORED, STRING, STRUCT, STYLE, SUBMULTISET, SUBPARTITION, SUBSTITUTABLE, SUM, SYNONYM
T TDO, THE, TIME, TIMESTAMP, TIMEZONE_ABBR, TIMEZONE_HOUR, TIMEZONE_MINUTE, TIMEZONE_REGION, TRAILING, TRANSACTION, TRANSACTIONAL, TRUSTED
U UB1, UB2, UB4, UNDER, UNPLUG, UNSIGNED, UNTRUSTED, USE, USING
V VALIST, VALUE, VARIABLE, BARIANCE, VARRAY, VARYING, VOID
W WHILE, WORK, WRAPPED, WRITE
YEAR
Z ZONE

사전 정의 식별자는 오라클에 내장된 STANDARD라는 패키지에 선언된 식별자를 말한다.

STANDARD 패키지는 오라클에 내장된 특별한 패키지인데 오라클의 기본 네임스페이스이기 때문에 이 패키지에 선언된 식별자는 'STANDARD'을 접두어로 사용하지 않아도 사용 가능하다.

사전 정의 식별자는 다음 쿼리를 사용하여 조회 가능하다.(사용자 권한에 따라 결과 달라짐)

SELECT TYPE_NAME
	FROM ALL_TYPES
WHERE OWNER IS NULL
	AND PREDEFINED = 'YES';

 

사용자 정의 식별자는 기존에 존재하지 않으며 프로그래머가 정의한 식별자를 말한다.

사용자 정의 식별자는 큰따옴표를 사용하지 않는 일반 사용자 정의 식별자와 큰따옴표로 식별자를 감싼 두 가지 사용법이 있으며 두 경우에 따라 사용법이 달라진다.