일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이클립스
- CSS
- Java
- Operator
- JS
- 에러
- Servlet
- oracle
- 연산자
- sqldeveloper
- 서블릿
- 자료형
- 오라클
- 자바
- function
- 코딩
- select
- error
- 오류
- variable
- HTML
- From
- datatype
- SQL
- 개발자
- VisualStudioCode
- 변수
- Eclipse
- 삐옥
- 오라클오류
- Today
- Total
뇨내
[Oracle-SQL Developer] PLSQL 1 : 개념 + 변수 선언 본문
안녕하세요.
정말 오랜만의 포스팅입니다..
많은 일들이 있었는데 한단어로 표현하면 '바쁨' 이었습니다.
어떤 글을 쓸까 하다 최근 프로젝트에서 plsql부분이 많이 기억이 안나서 조금 삽질한 기억이있어
배운 부분을 다시 정리하려합니다.
라떼한잔 그리고 신나는 EDM과 함께 포스팅 시작
PLSQL
PL/SQL :Oracle's Procedural language extension to SQL
- 기존의 ANSI-SQL에 절차지향언어의 기능을 추가한 SQL
ANSI-SQL
- 비절차 지향 언어
- 순서가 없고 연속적이지않다.
- 문장 단위 구조
ANSI-SQL + 절차적 기능 = PL/SQL
프로시저, Procedure
PL/SQL 프로시저 블럭 구조
*** 4개의 키워드(블럭)으로 구성
- DECLARE
- BEGIN
- EXCEPTION
- END
1. DECLARE
- 선언부
- 프로시저내에서 사용할 변수, 객체 등을 선언하는 영역
- 생략 가능
2. BEGIN
- 실행부, 구현부
- BEGIN ~ END
- 구현된 코드를 가지는 영역(메소드의 body와 동일)
- 생략 불가능
- ANSI-SQL 작성 + 연산 + 제어 등..
3. EXCEPTION
- 예외처리부
- catch 역할
- 예외 처리 코드를 작성
- 생략 가능
4. END
- BEGIN 블럭의 종료 역할
- 생략 불가능
프로시저, Procedure
- 메소드, 함수 등..
- 순서가 있는 명령어의 집합
- PL/SQL 명령어는 반드시 프로시저내에서만 작성, 동작이 된다.
1. 익명 프로시저
- 1회용 코드 작성용
2. 실명 프로시저
- 데이터베이스 객체
- 저장용
- 재호출
자료형 + 변수
PL/SQL 자료형
- 이전 자료형과 동일
변수 선언하기
- 변수명 자료형 [not null] [default 값];
- 주로 질의(select)의 결과값을 저장하는 용도
PL/SQL 연산자
- ANSI-SQL과 동일
대입 연산자
- ANSI-SQL의 대입 연산자
ex) update table set column = '값';
- PL/SQL의 대입 연산자
ex) 변수 := '값';
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
|
set serveroutput on; -- 밑에 결과값 나오도록 함(10), 매번 켜야함
set serveroutput off;
---익명프로시저---
declare
begin
end;
-------------------
declare
num number;
name varchar2(30);
today date;
begin
num := 10;
dbms_output.put_line(num);
name := '홍길동';
dbms_output.put_line(name);
today := sysdate;
dbms_output.put_line(today);
end;
|
cs |