ํ์ต ๋ด์ฉ PL/SQL ์ด๋ -> PROCEDURAL EXTENTION TO STRUCTURED QUERY LANGUAGE - ์ค๋ผํด ์์ฒด์ ๋ด์ฅ๋์ด ์๋ ์ธ์ด์ด๋ค. SQL์ ํ์ฅํ ์์ฐจ์ ์ธ ์ธ์ด - PROCEDURE, FUNCTION, TRIGGER(์๋ํธ์ถํจ์, CALL BACK) PL/SQL ๋ฌธ์ BLOCK ๊ตฌ์กฐ๋ก ๋ค์์ SQL ๋ฌธ์ ํ๋ฒ์ ORACLE DB๋ก ๋ณด๋ด์ ์ฒ๋ฆฌํ๋ฏ๋ก ์ํ์๋๋ฅผ ํฅ์ ์ํฌ์ ์๋ค. - SCRIPT ๊ตฌ์กฐ DECLARE -- ์ ์ธ๋ถ MESSAGE VARCHAR2(10); BEGIN -- ์คํ๋ถ MESSAGE := 'HELLO PL'; dbms_output.put_line('MESSAGE = ' || message); END; / 1. ์ ์ธ๋ถ : ๋ณ์, ์์, ์ด๊ธฐํ 2. ์คํ..
ํ์ต ๋ด์ฉ - SUB QUERY : QUERY ์์ QUERY ํ๊ฐ์ ํ(ROW, RECORD)์์ ๊ฒฐ๊ณผ ๊ฐ์ด ๋ฐํ๋๋ QUERY SELECT ๋จ์ผ ROW ๋จ์ผ COLUMN ์ด์ด์ผ ํ๋ค (์ฐ์ถ๋๋ ๋ฐ์ดํฐ๋ ํ๊ฐ, ์ปฌ๋ผ๋ ํ๊ฐ) FROM ๋ค์ค ROW ๋ค์ค COLUMN ๊ฐ๋ฅ WHERE ๋ค์ค ROW ๋ค์ค COLUMN ๊ฐ๋ฅ -- SELECT SELECT employee_id, first_name, (SELECT first_name FROM employees WHERE employee_id = 100) FROM employees; -- FROM SELECT employee_id, first_name FROM (SELECT employee_id, first_name FROM employees WHERE depart..
๋ฐฐ์ด์ ์ด์ฉํ ๊ธฐ์ด์ ์ธ ๋ฌธ์ ์๋ค. ๋ค๋ง ๋คํ๊ณ ๋์ ๋ค๋ฅธ ์ฌ๋๋ค์ ๋ฌธ์ ํ์ด๋ฅผ ๋ณด๋, for๋ฌธ์์ ์ํ๋ ๊ฐ์ ์ฐพ์์ ๋ break๋ฌธ์ ์ฌ์ฉํ๋ฉด ๋ ๋์ง์๊ณ ๋์ฌ ์ ์๋ค๋ ์ฅ์ ์ด ์์๋ค. ์ฌ์ด ๋ฌธ์ ์์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์กฐ๊ธ์ด๋ผ๋ ๋ ์๋ ์ ์๋ ๋ฐฉ๋ฒ์ ๊ณ ์ฌํ์ฌ ์ฐพ์๋ด์ผ๊ฒ ๋ค. /* ๋ฌธ์ ์ค๋ช
Stringํ ๋ฐฐ์ด seoul์ element์ค Kim์ ์์น x๋ฅผ ์ฐพ์, ๊น์๋ฐฉ์ x์ ์๋ค๋ String์ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํ์ธ์. seoul์ Kim์ ์ค์ง ํ ๋ฒ๋ง ๋ํ๋๋ฉฐ ์๋ชป๋ ๊ฐ์ด ์
๋ ฅ๋๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค. ์ ํ ์ฌํญ seoul์ ๊ธธ์ด 1 ์ด์, 1000 ์ดํ์ธ ๋ฐฐ์ด์
๋๋ค. seoul์ ์์๋ ๊ธธ์ด 1 ์ด์, 20 ์ดํ์ธ ๋ฌธ์์ด์
๋๋ค. Kim์ ๋ฐ๋์ seoul ์์ ํฌํจ๋์ด ์์ต๋๋ค. ..
ํ์ต ๋ด์ฉ - Select ํ์ : SELECT ( ๊ฐ, ์ปฌ๋ผ๋ช
, ํจ์, SUB QUERY) FROM (ํ
์ด๋ธ๋ช
, SUB QUERY) SELECT 1 FROM DUAL; SELECT * FROM EMP; - ํ์ฌ ๊ณ์ ์ ํ
์ด๋ธ ์ ๋ณด ๋ชจ๋ ๋ช
์ธ SELECT * FROM TAB; - ALIAS (์ปฌ๋ผ๋ช
์ค์ ) SELECT EMPNO AS "์ฌ์ ๋ฒํธ", SAL AS ์๊ธ, SAL * 12 "์ผ๋
์น ์ฐ๋ด" FROM EMP; - DISTINCT : ์ค๋ณตํ ์ญ์ SELECT DISTINCT JOB FROM EMP; -- ์ค๋ณต ์ ๊ฑฐ - WHERE ์กฐ๊ฑด์ -> if &&(AND), ||(OR), ( ) -- && == AND SELECT FIRST_NAME, LAST_NAME FROM EMPLOYEES WHERE F..
ํ์ต ๋ด์ฉ - ํ
์ด๋ธ ์์ฑ CREATE TABLE ํ
์ด๋ธ๋ช
( ์ปฌ๋ผ๋ช
1 ์๋ฃํ, ์ปฌ๋ผ๋ช
2 ์๋ฃํ, : : ); - ํ
์ด๋ธ ์ญ์ DROP TABLE ํ
์ด๋ธ๋ช
; - ์๋ฃํ (Java vs DB) Java DB String VARCHAR2, CHAR, LONG int INTEGER, NUMBER double NUMBER Date DATE - ๋ฌธ์์ด CHAR CREATE TABLE TB_CHAR( COL1 CHAR(10 BYTE), COL2 CHAR(10 CHAR), -- 11111 11113 -> 12BYTE(ํ๊ธ 1๊ฐ์ฐ๋ฉด) COL3 CHAR(10) ); INSERT INTO ํ
์ด๋ธ๋ช
(์ปฌ๋ผ๋ช
, ์ปฌ๋ผ๋ช
... ) VALUES( ๊ฐ, ๊ฐ ... ) INSERT INTO TB_CHAR (COL1, COL2, COL3..
์๋ฐ๋ฅผ ํ๋ฌ ์กฐ๊ธ ์๋๋ ๊ธฐ๊ฐ๋์ ๋ฐฐ์ฐ๊ณ , ์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋์ด๊ฐ๋ค. ์ฒซ๋ฒ์งธ๋ก ๋ฐฐ์ฐ๋๊ฑด SQL. ๊ทธ์ค์์ ์ค๋ผํด์ ๋ฐฐ์ฐ๊ฒ ๋์๋ค. ํ์์์ ๋ฐฐ์ด ๊ฐ๋จํ ์ธํ
๋ฒ๋ ๊ฐ์ด ์ ์ด๋๋ค. 1. ์ค๋ผํด ๊ณต์ ํํ์ด์ง๋ก ๊ฐ์ Oracle Database XE 11.2 ๋ฒ์ ์ ๋ฐ๋๋ค. (๋งํฌ : www.oracle.com/database/technologies/xe-prior-releases.html) 2. SQL Developer (Windows 64-bit with JDK 8 included)๋ฅผ ๋ฐ๋๋ค. (๋งํฌ : www.oracle.com/tools/downloads/sqldev-downloads.html) 3. OracleXE112_Win64 ์์ถ์ ํ๊ณ ์ค์น (์ค๊ฐ์ ๋์ค๋ ๋น๋ฐ๋ฒํธ๋ ๊น๋จน์ง ์๊ฒ syste..
ํ์์์ ์๋ฐ๊ณผ์ ์ ๋ง์ณ๊ฐ์ ์์ผ๋ก ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ์กฐ๊ธ์ฉ์ด๋ผ๋ ํ์ด๋ณด๋ คํ๋ค. ์ฒ์ ํ์ด๋ณด๋ ๋ฌธ์ ๋ผ ์ฌ์ด ๋์ด๋๋ก ๊ณจ๋๊ณ , ์ฝ๋ฉ๋์ฅ ํํ์ด์ง์์ ์ถ์ ๋ ๋ฌธ์ ๋ฅผ ๊ฐ์ ธ์๋ค. ๋ฌธ์ ์ฃผ์ด์ง ๋ฌธ์์ด(๊ณต๋ฐฑ ์์ด ์ผํ๋ก ๊ตฌ๋ถ๋์ด ์์)์ ๊ฐ์ง๊ณ ์๋ ๋ฌธ์ ์ ๋ํ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ์ด์ ๋,์ด์ฌ์,๊ถ์ข
ํ,์ด์ฌ์,๋ฐ๋ฏผํธ,๊ฐ์ํฌ,์ด์ฌ์,๊น์ง์,์ต์นํ,์ด์ฑ์ฐ,๋ฐ์์,๋ฐ๋ฏผํธ,์ ๊ฒฝํ,์ก์ ํ,๊น์ฌ์ฑ,์ด์ ๋,์ ๊ฒฝํ 1.๊น์จ์ ์ด์จ๋ ๊ฐ๊ฐ ๋ช ๋ช
์ธ๊ฐ์? 2."์ด์ฌ์"์ด๋ ์ด๋ฆ์ด ๋ช ๋ฒ ๋ฐ๋ณต๋๋์? 3.์ค๋ณต์ ์ ๊ฑฐํ ์ด๋ฆ์ ์ถ๋ ฅํ์ธ์. 4.์ค๋ณต์ ์ ๊ฑฐํ ์ด๋ฆ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ์ฌ ์ถ๋ ฅํ์ธ์. import java.util.ArrayList; import java.util.Collections; import java.util.H..
ํ์ต ๋ด์ฉ - Collection : ์์ง List: ๋ชฉ๋ก ArrayList ๋ฐฐ์ด์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ ๋ฆฌ์คํธ ์ ํ๊ตฌ์กฐ O-O-O-O-O ๊ฒ์์๋๊ฐ ๋น ๋ฅด๋ค index๋ก ์ ๊ทผํ๋ค LinkedList ์ถ๊ฐ/์ญ์ ์๋๊ฐ ๋น ๋ฅด๋ค ArrayList arrlist = new ArrayList(); // ๊ธฐ๋ณธํ์ //์ถ๊ฐ --> .add(์ ์ฅ๊ฐ) ๋ฅผ ํตํด ์ฐจ๋ก๋๋ก ๊ฐ ์ ์ฅ arrlist.add(111); Integer in = new Integer(222); arrlist.add(in); arrlist.add(new Integer(333)); int len = arrlist.size(); System.out.println("๋ชฉ๋ก์ ํฌ๊ธฐ " + len);// ๊ฒฐ๊ณผ : ๋ชฉ๋ก์ ํฌ๊ธฐ 3 for (int i = 0; i < ..