"PLSQL 변수"의 두 판 사이의 차이
DB CAFE
(같은 사용자의 중간 판 2개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | PL/SQL 변수 | + | = PL/SQL 변수 = |
+ | * 변수는 반드시 문자로 시작해야함! | ||
+ | == 단순 변수 == | ||
+ | * SCALAR 변수 | ||
+ | : - 데이터 타입을 직접 지정해 주는 변수 | ||
+ | : - number, varchar2, date 등등 으로 직접 데이터타입을 정해주는 것 | ||
+ | * Reference변수 = 참조변수 | ||
+ | : - 해당 데이터가 들어있는 칼럼 정보를 참조 | ||
− | + | * v_ename emp.ename%type | |
− | + | : --> 변수 이름을 v_ename 으로 하되 데이터타입은 emp테이블의 ename 칼럼의 데이터 타입과 동일하게 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | v_ename emp.ename%type --> 변수 이름을 v_ename 으로 하되 데이터타입은 emp테이블의 ename 칼럼의 데이터 타입과 동일하게 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | * 칼럼이 많지 않을 경우는 위의 방법을 쓰면 되지만 칼럼이 많을 경우는 rowtype 변수를 사용, | ||
+ | * 하나의 테이블에 여러 칼럼의 값을 한꺼번에 저장할 수 있는 변수 | ||
+ | <source lang=sql> | ||
vrow emp%ROWTYPE | vrow emp%ROWTYPE | ||
+ | <source> | ||
+ | == 복합 변수 == | ||
+ | * 변수 하나안에 여러가지 다른 유형의 데이터를 포함 | ||
+ | === Record Type === | ||
+ | : - 레코드 타입 변수 | ||
+ | : 여러개의 컬럼에 여러개의 값을 넣음 | ||
− | + | * 사용방법: | |
− | + | ** DECLARE 에서 | |
− | + | <source lang=sql> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | 사용방법: | ||
− | |||
− | DECLARE 에서 | ||
− | |||
TYPE 타입이름(보통 테이블명_record_type) IS RECORD | TYPE 타입이름(보통 테이블명_record_type) IS RECORD | ||
73번째 줄: | 40번째 줄: | ||
SELECT 출력할 칼럼들 INTO 변수이름 FROM 테이블명 WHERE 조건 ; | SELECT 출력할 칼럼들 INTO 변수이름 FROM 테이블명 WHERE 조건 ; | ||
+ | </source> | ||
+ | === Table Type === | ||
+ | : - 테이블/ 컬렉션 타입 변수 | ||
+ | : 하나의 칼럼에 데이터가 여러개 | ||
+ | : 하지만 interger라는 칼럼을 만들 수 있는데 관리를 위한 데이터 구분의 역할을 하는 칼럼 | ||
− | + | * 사용방법: | |
− | + | <source lang=sql> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | 사용방법: | ||
− | |||
DECLARE 에서 | DECLARE 에서 | ||
112번째 줄: | 71번째 줄: | ||
--> table type의 변수 1번째 칸에 다른변수 즉, 출력해야 할 칼럼에 대한 내용을 입력하라는 뜻. | --> table type의 변수 1번째 칸에 다른변수 즉, 출력해야 할 칼럼에 대한 내용을 입력하라는 뜻. | ||
+ | </source> | ||
+ | '''문자열 처리방법''' | ||
− | |||
https://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements003.htm#sthref344 | https://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements003.htm#sthref344 | ||
+ | |||
q'구분자.........구분자' | q'구분자.........구분자' | ||
121번째 줄: | 82번째 줄: | ||
p_cols=> q''{'||V_INDEX_COLUMNS||'}'' | p_cols=> q''{'||V_INDEX_COLUMNS||'}'' | ||
</source> | </source> | ||
+ | |||
+ | [[Category:oracle]] |
2023년 4월 5일 (수) 22:04 판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
1 PL/SQL 변수[편집]
- 변수는 반드시 문자로 시작해야함!
1.1 단순 변수[편집]
- SCALAR 변수
- - 데이터 타입을 직접 지정해 주는 변수
- - number, varchar2, date 등등 으로 직접 데이터타입을 정해주는 것
- Reference변수 = 참조변수
- - 해당 데이터가 들어있는 칼럼 정보를 참조
- v_ename emp.ename%type
- --> 변수 이름을 v_ename 으로 하되 데이터타입은 emp테이블의 ename 칼럼의 데이터 타입과 동일하게
- 칼럼이 많지 않을 경우는 위의 방법을 쓰면 되지만 칼럼이 많을 경우는 rowtype 변수를 사용,
- 하나의 테이블에 여러 칼럼의 값을 한꺼번에 저장할 수 있는 변수
vrow emp%ROWTYPE
<source>
== 복합 변수 ==
* 변수 하나안에 여러가지 다른 유형의 데이터를 포함
=== Record Type ===
: - 레코드 타입 변수
: 여러개의 컬럼에 여러개의 값을 넣음
* 사용방법:
** DECLARE 에서
<source lang=sql>
TYPE 타입이름(보통 테이블명_record_type) IS RECORD
(타입이름에 들어갈 여러 변수들, 일반 변수 선언과 동일한 문법으로 쓰면 됨) ;
변수이름 타입이름 ;
BEGIN에서
SELECT 출력할 칼럼들 INTO 변수이름 FROM 테이블명 WHERE 조건 ;
1.1.1 Table Type[편집]
- - 테이블/ 컬렉션 타입 변수
- 하나의 칼럼에 데이터가 여러개
- 하지만 interger라는 칼럼을 만들 수 있는데 관리를 위한 데이터 구분의 역할을 하는 칼럼
- 사용방법:
DECLARE 에서
TYPE 타입이름(보통 tbl_테이블명) IS TABLE OF
(사용할 변수 설정) ; --> 테이블 타입은 칼럼이 하나기 때문에 변수도 하나
INDEX BY BINARY_INTEGER --> interger 칼럼 만드는 옵션
변수이름 타입이름 ;
BEGIN에서
SELECT 출력할 칼럼들 INTO 다른변수이름 FROM 테이블명 WHERE 조건 ;
변수이름(0) := 다른변수;
--> table type의 변수 1번째 칸에 다른변수 즉, 출력해야 할 칼럼에 대한 내용을 입력하라는 뜻.
문자열 처리방법
https://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements003.htm#sthref344
q'구분자.........구분자'
p_cols=> q''{'||V_INDEX_COLUMNS||'}''