OS 환경 : Oracle Linux 8.7 (64bit)
DB 환경 : Oracle Database 19.27.0.0
방법 : sqlplus에서 바인드 변수 사용법
sqlplus에서 바인드변수를 사용하는법을 설명함
간단한 예제
|
1
2
3
4
5
6
7
8
9
|
SQL>
var b1 varchar2(20);
exec :b1 := 'hello_oracle';
select :b1 from dual;
:B1
------------------
hello_oracle
|
주의 사항
바인드 변수는 선언 시 지정한 데이터 타입에 맞는 값만 저장할 수 있음
따라서 숫자형 변수에 문자열을 넣거나 문자형 변수에 선언 길이를 초과하는 값을 넣으면 오류가 발생할 수 있음
CHAR는 고정 길이 특성상 남는 자리가 공백으로 채워질 수 있으므로 가변 길이 문자열에는 보통 VARCHAR2를 더 많이 사용함
사용 가능한 형식
varchar2 형식 : var b1 varchar2(20);
char 형식 : var c1 char(10);
nchar 형식 : var n1 nchar(20);
nvarchar2 형식 : var n2 nvarchar2(50);
clob 형식 : var c1 clob;
nclob 형식 : var nc1 nclob;
number 형식 : var n1 number;
binary_float 형식 : var f1 binary_float;
binary_double 형식 : var d1 binary_double;
refcursor 형식 : var rc refcursor;
blob 형식 : var b1 blob;
기타 예제들
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
-- 문자열
VAR b1 VARCHAR2(20);
EXEC :b1 := 'hello_oracle';
SELECT :b1 FROM dual;
:B1
------------------
hello_oracle
-- 숫자
VAR n1 NUMBER;
EXEC :n1 := 100;
SELECT :n1 FROM dual;
:N1
----------
100
-- 조건절 사용
VAR deptno NUMBER;
EXEC :deptno := 10;
SELECT empno, ename, deptno
FROM emp
WHERE deptno = :deptno;
EMPNO ENAME DEPTNO
---------- ---------- ----------
7839 KING 10
7782 CLARK 10
7934 MILLER 10
-- 커서 사용
VAR rc REFCURSOR;
BEGIN
OPEN :rc FOR
SELECT empno, ename
FROM emp
WHERE deptno = 20;
END;
/
PRINT rc
EMPNO ENAME
---------- ----------
7566 JONES
7788 SCOTT
7902 FORD
7369 SMITH
7876 ADAMS
|
참조 :
https://docs.oracle.com/en/database/oracle/oracle-database/19/sqpqr/#SQL*Plus%C2%AE
'ORACLE > Sql' 카테고리의 다른 글
| 오라클 19c sql로 크리스마스 트리 만들기 (0) | 2025.12.24 |
|---|---|
| 오라클 19c redo 많이 발생한 시점 확인 (0) | 2025.11.29 |
| 오라클 19c 리스너 로그 집계 스크립트 (0) | 2025.11.11 |
| 오라클 19c Hugepages 설정 스크립트 최신버전 및 수동계산 (1) | 2025.09.28 |
| 오라클 19c 유저 100개, 테이블 100개, 인덱스 100개, 데이터 1000건 생성 (0) | 2025.08.10 |
