DataBase/oracle
oracle PL/SQl_rowType변수 및 복합변수 활용
HUCHUCHU
2020. 3. 22. 21:56
(1) 치환연산자 & 를 이용하여 사용자에게 값을 입력받아 연산하기!
1
2
3
4
5
6
7
8
9
10
|
declare
no1 number := &no1;
no2 number := &no2;
vsum number;
begin
vsum := no1 + no2;
dbms_output.put_line('첫번째수 : ' || no1 || ', 두번째수: ' || no2 || ', 합계: '|| vsum);
end;
/
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
no1 number := &no1;
no2 number := &no2;
<== 변수를 선언할 때 사용자에게 입력 받겠다고 같이 설정
실행하면 값을 입력할 수 있는 창이 뜬다!
(2) 복합변수
record Type 변수 지정방법
-- 1) type 타입명 is record ();
-- 2) 식별자 type 타입명 (식별자는 변수와 같은 개념)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
declare
type emp_rec is record <== type 명
(
emp_id employees.employee_id%type,
emp_name employees.first_name%type,
emp_job employees.job_id%type
);
rec1 emp_rec; <== emp_rec에대한 식별자
begin
select employee_id, first_name, job_id
into rec1
from employees
where department_id = 10;
dbms_output.put_line ('사번 이름 업무아이디');
dbms_output.put_line (rec1.emp_id||' ' || rec1.emp_name || ' ' || rec1.emp_job);
end;
/
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
** emp_rec의 변수 rec1을 지정하지않고 그냥 값을 넣으면 안되는건가? 문법이니까 그냥 외우면 되는건가?_?...
(3) 복합변수 _ 값 입력받기
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
|
declare
type emp_rec2 is record
(
emp_id employees.employee_id%type,
emp_name employees.first_name%type,
emp_email employees.email%type,
emp_salary employees.salary%type
);
rec2 emp_rec2;
-- 사용자에게 사원번호를 입력받기위해 변수 생성
vemp_id employees.employee_id%type := '&empid'; -- 여기 왜 '' 형태로 쓰는건지 모르겠당....
-- 오잉 상관이 없나 ''형태로 안써도 에러안난고
위에도 ''형태로 써도 에러안난다
begin
select employee_id , last_name, nvl(email, '없음'), salary
into rec2
from employees
where employee_id = vemp_id;
dbms_output.put_line('사번 : '|| rec2.emp_id);
dbms_output.put_line('이름 : '|| rec2.emp_name);
dbms_output.put_line('이메일 : '|| rec2.emp_email);
dbms_output.put_line('급여 : '|| rec2.emp_salary);
end;
/
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|