Web develop 64

[JDBC] Properties 객체 사용방법(저장, 출력, 데이터얻기)

Properties : 속성데이터(문자열, text)를 담는 클래스 Properties pro = new Properties(); DAO : Data Access Object DB 접근을 위한 DB전용 객체 각 메소드에는 sql문 실행에 관련된 코드들로 구성 하는것이 가장 이상적 CRUD 작업실행하는 메소드를 정의 DTO : Data Transfer Object VO : Value Object 계층간 데이터교환을 위한 자바빈즈 VO(Value Object)라는 단어를 많이 사용 데이터 저장(입력) pro.setProperty(String key, String value); pro.setProperty("k1","길동"); pro.setProperty("k2","라임"); key: 저장 또는 검색을 위한 ..

[JDBC] JDBC 관련클래스, 프로그래밍 순서 (Connection, Statement, ResultSet)

JDBC 관련클래스 : java.sql 패키지 DriverManager : JVM에서 JDBC전체를 관리하는 클래스. Driver등록, Connection 연결작업 등 Driver : DB를 만드는 Vendor(Oracle, MS-SQL, MYSQL등)을 implements하여 자신들의 DB를 연결할 수 있는 class를 만드는 인터페이스 Connection : DB와 연결성을 갖는 인터페이스 Statement : SQL문을 실행하는 인터페이스 ResultSet : 조회된 결과 데이터를 갖는 인터페이스 JDBC 프로그래밍 제품군 선택 (Oracle, Mysql, MS-SQL 등) 연결객체 생성 (Connection) [필요요소] DB서버의 주소 포트번호(0~63353개.한피시 안에서 서비스 종류를 판별하..

[SQL/ORACLE] 트리거(Trigger) 형식 및 사용예제

트리거(Trigger) : 방아쇠를 당기는것. 사건이 발생했을 때 특정 영역 수행 이벤트 처리(~했을 때 수반되는 처리) 특정테이블에 이벤트(insert, delete, update)가 발생했을 시 다른테이블에 연관된 내용을 변경하도록 하는 일 트리거 형식 CREATE [OR REPLACE] TRIGGER 트리거명 (BEFORE | AFTER) (INSERT | DELETE | UPDATE) --이벤트(사건발생) ON 테이블명 --이벤트가 발생하는 테이블 [FOR EACH ROW] --실행될 문장 행에 각각 적용 [WHEN 조건식] BEGIN --이벤트 발생시 실행할 문장(주로 DML) => 이벤트 처리부 END; / 트리거 사용예제 CREATE OR REPLACE TRIGGER welcome AFTER..

Web develop/SQL 2019.06.16

[SQL/ORACLE] 패키지(Package) 선언, 실행방법 및 사용예제

패키지(Package) 동일한 프로시저명 또는 함수명을 구분 (NameSpace 개념) --------------패키지 선언------------------- CREATE OR REPLACE PACKAGE 패키지명 IS 정의될 저장프로시저와 저장함수 END; / --------------패키지 실행(body)------------- CREATE OR REPLACE PACKAGE BODY 패키지명 IS 저장프로시저와 저장삼후 정의 END; / --실행 EXEC[UTE] 패키지명.저장프로시저명; 패키지 사용예제 ----------------------패키지 선언------------------------------------- create or replace package encore is procedure..

Web develop/SQL 2019.06.16

[SQL/ORACLE] 커서 (CURSOR) 형식, FOR문에 사용하는 커서, ORA-01422 에러

CURSOR SELECT의 결과가 2개행 이상일 때 명시적으로 사용 2개 행 이상을 출력하는 SELECT문을 저장하는 변수 declare --변수선언, 커서정의 CURSOR 커서명 IS SELECT문장; begin OPEN 커서명; -- 커서 사용선언 FETCH 커서명 INTO 변수명 --커서 사용. 데이터 1행 인출 CLOSE 커서명; -- 커서 사용중지 end; / declare CURSOR cur IS SELECT deptno,dname,loc FROM dept; vdept dept%rowtype; -- 테이블을 구성하는 모든 컬럼 참조 begin OPEN cur; dbms_output.put_line('부서번호/부서명/위치'); LOOP FETCH cur INTO vdept; EXIT WHEN c..

Web develop/SQL 2019.06.16

[SQL/ORACLE] 저장함수(Stored Function) 형식 및 사용방법

저장함수 Procedure와 달리 실행(함수호출)후 결과를 되돌려 받을 수 있는 return 데이터; 를 반드시 명시해야 함 CREATE [OR REPLACE] FUNCTION 함수명(매개변수 선언) RETURN 자료형 IS 변수선언 BEGIN (순차적으로)실행할 SQL문 RETURN 데이터; END; / 사용법 CREATE FUNTION~ (함수를 DB에 저장) — 함수 생성 VARIABLE 바인드변수명 자료형; — 변수 선언 EXEC[UTE] :바인드변수명 := 함수명() — 함수호출, 결과값 저장 PRINT 바인드변수명; — 저장 값 확인 자바와 비교한 참고) void hello(String name){ System.out.println("안녕,"+name); } -----> Stored Proce..

Web develop/SQL 2019.06.16

[SQL/ORACLE] 저장 프로시저 (Stored Procedure) 형식, 사용 예제

자주 사용되는 DML, DQL을 모듈화(독립적인 객체) 시켜서 DB에 저장하였다가 필요할 때 호출해서 사용 서로 연관있는 DML과 DQL을 연결해서 실행하는 단위 JAVA의 메소드. 함수와 같음 [IN|OUT] IN은 안으로 데이터를 받는 매개변수의 의미, OUT은 데이터를 내보내는 리턴의 역할. OUT 사용시 호출 ⇒ execute 프로시저명(인자, :변수명) 프로시저 생성 및 실행방법 CREATE [OR REPLACE] PROCEDURE 프로시저명(변수명 [IN|OUT] 자료형, 변수명 자료형) --자료형은 타입만 기재 (ex. 변수명 VARCHAR2) IS 실행부 BEGIN에서 사용할 변수선언; BEGIN --초기화, SQL문, 함수호출, 절차적 요소(조건문, 반복문) 실행할 문장1; 실행할 문장2..

Web develop/SQL 2019.06.16

[SQL/ORACLE] PL/SQL 반복문 형식 (LOOP, FOR, 다중 FOR문,WHILE)

LOOP LOOP 반복실행할 문장1; 반복실행할 문장2; 반복실행할 문장3; EXIT [WHEN 조건식]; END LOOP; -- 1~10까지 출력 declare i NUMBER := 0; begin LOOP i := i+1; dbms_output.put_line(i); EXIT WHEN i=10; END LOOP; END; / FOR FOR 변수 IN [REVERSE] 최소값..최대값 LOOP 반복 실행할 문장; END LOOP; REVERSE : 최소값 최대값이 반대로 명시됨 -- 안녕하세요 10번 출력 declare begin FOR i IN 1..10 LOOP dbms_output.put_line('안녕하세요'||i); END LOOP; END; / 다중 FOR문 -- 3~5단 출력 declare..

Web develop/SQL 2019.06.16

[SQL/ORACLE] PL/SQL 조건문 형식 및 사용예제 (if문, if~else문, if~elif~else문)

if문 if (조건식) --소괄호 생략가능 then -- 시작을 표현 조건식이 참일 때 실행할 문장; end if; -- 끝을 표현 declare su1 number; su2 number := 20; begin su1 := 23; if(su1>su2) then dbms_output.put_line('작다!!'); end if; if(su1 := 대입연산자 if~else문 if 조건식 then 조건식 결과가 참일 때 실행할 문장; else 조건식 결과가 거짓일 때 실행할 문장; end if; -- declare c emp.comm%type; vename emp.ename%type; begin SELECT comm,ename INTO c,vename FROM emp WHERE empno = 7788; if(..

Web develop/SQL 2019.06.15

[SQL/ORACLE] SEQUENCE 사용법 (+ORACLE 11g에서 사용시 설정하는법)

SEQUENCE : 자동번호 부여 숫자값이 일정한 규칙에 의해서 연속적으로 자동증가. CREATE SEQUENCE sequence\_name [INCREMENT BY] 증가치 [START WITH] 초기값 [MAXVALUE n|NOMAXVALUE] [MINVALUE|NOMINVALUE] [CYCLE|NOCYCLE] [CACHE|NOCACHE]; 테이블에 종속적이지 않다(테이블과 독립적) maxvalue : 시퀀스가 가질 수 있는 최대값 지정. nomaxvalue일 경우 ascending순서일 경우 10의 27승 descending일 경우 -1 minvalue : 시퀀스가 가질 수 있는 최소값 지정. nominvalue일 경우 ascending 1 descending 10의 26승으로 설정. cache :..

Web develop/SQL 2019.06.15