justgo_developer

PL/SQL 본문

IT/Oracle

PL/SQL

다날92 2018. 11. 30. 22:56
728x90
반응형

PL/SQL


<변수>

- 변수의 생성규칙

   1. 반드시 문자로 시작

   2. 문자나 숫자, 특수문자 포함 가능

   3. 변수명은 30bytes 이하

   4. 예약어(키워드) 사용불가

- 변수의 선언은 선언부(declare)에서 선언되고, 값으로 초기화가 가능

- 실행부에서 실행될 경우 값이 할당

- 서브프로그램의 파라미터로 전달되기도하며, 서브프로그램의 출력결과를 저장하기도 함.


선언예)

emp_no number(6, 3) : 숫자를 저장하는 변수로 총 6자리를 의미하며, 소수점 이하 3자리를 의미


emp_name varchar2(5) : 문자를 저장하는 변수로 총 바이트길이가 5바이트를 저장


emp_date date : 날짜를 저장하는 변수


<데이터 타입>

char : 고정길이의 문자를 저장

varchar2 : 가변길이의 문자를 저장

number(전체자리수, 소수점이하자리수) : 전체자리수와 소수점이하 자리수를 가진 숫자를 저장

binary_double : 부동소수점 수를 저장

data : 날짜 및 시간을 저장, 초단위로 저장

timestamp :data타입을 확장, 연도/월/일/시/분/초/ 및 소수로 표시되는 초단위를 저장


<참조변수>

테이블명.필드명%Type

ex) empNo employees.employee_id%TYPE

     : employees 테이블에 employee_id의 동일한 데이터 타입 선언

    empRow employees%ROWTYPE

     : employees 테이블의 모든컬럼을 한꺼번에 저장하기 위한 변수로 선언



1
2
3
4
5
6
7
8
9
declare
emp_row employees1%ROWTYPE
begin
    select * into emp_row
    from employees1
    where employee_id = 100;
    
    dbms_output.put_line(emp_row.employees_id || '' || emp_row.salary || '' || emp_row.department_id)
end;
cs



<Table 복사>

create table 테이블명 as select * from 테이블명 ;


1
2
3
4
5
6
7
8
9
declare
c_rec row_test%ROWTYPE;
begin
    select * into c_rec
    from row_test
    where no=3;
    
    insert into row_test2 values c_rec;
end;
cs


728x90
반응형

'IT > Oracle' 카테고리의 다른 글

콜렉션, 바인드 변수  (0) 2018.12.02
rowType 변수 및 복합변수 활용  (0) 2018.12.01
View(뷰)  (0) 2018.11.22
시퀀스(Sequence)  (0) 2018.11.22
PL/SQL  (0) 2018.11.18