전체 글

전체 글

    JDBC_02

    JDBC_02

    1. JDBC select package sec02.exam01_statement; import java.io.BufferedReader; import java.io.InputStreamReader; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class JDBC_Select { public static void main(String[] args) { // TODO Auto-generated method stub String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:..

    JDBC_01

    JDBC_01

    1. JDBC 기본 JDBC(Java Database Connectivity) java library(java class)로써 db에 접속하여 CRUD 기능을 수행할 수 있는 API(Application Program Interface)이다. package sec01.exam01_jdbc; import java.sql.*; public class JDBC_Connect01 { public static void main(String[] args) { /** ORACLE JDBC Driver Test ***************************/ String driver = "oracle.jdbc.driver.OracleDriver"; /************************************..

    패키지

    패키지

    -- 패키지 선언(명세부) CREATE OR REPLACE PACKAGE EXAM_PACK IS FUNCTION CAL_BONUS(VEMPNO IN EMP.EMPNO%TYPE) RETURN NUMBER; PROCEDURE CURSOR_SAMPLE02; END; / -- 패키지 몸체 선언(몸체부) CREATE OR REPLACE PACKAGE BODY EXAM_PACK IS FUNCTION CAL_BONUS(VEMPNO IN EMP.EMPNO%TYPE) RETURN NUMBER IS VSAL NUMBER(7, 2); BEGIN SELECT SAL INTO VSAL FROM EMP WHERE EMPNO = VEMPNO; RETURN (VSAL * 200); END; PROCEDURE CURSOR_SAMPLE..

    커서와 트리거

    -- 5. 커서 -- 실습: 부서 테이블의 모든 내용을 조회하기 -- 커서를 사용하여 부서 테이블의 모든 내용을 출력한다. SELECT * FROM DEPT; SET SERVEROUTPUT ON CREATE OR REPLACE PROCEDURE CURSOR_SAMPLE01 IS VDEPT DEPT%ROWTYPE; -- 레코드 타입으로 변수 선언 CURSOR C1 -- 커서 선언 IS SELECT * FROM DEPT; BEGIN DBMS_OUTPUT.PUT_LINE('부서번호 / 부서명 / 지역명'); DBMS_OUTPUT.PUT_LINE('-----------------------------------------'); OPEN C1; -- 커서 열기 LOOP FETCH C1 INTO VDEPT.DEPT..

    저장 프로시저와 저장 함수

    -- 1. 저장 프로시저 -- 실습: 저장 프로시저 생성하기 -- 사원 테이블에 저장된 모든 사원을 삭제하는 프로시저 작성 DROP TABLE EMP01; CREATE TABLE EMP01 AS SELECT * FROM EMP; SELECT * FROM EMP01; CREATE OR REPLACE PROCEDURE DEL_ALL IS BEGIN DELETE FROM EMP01; END; / EXECUTE DEL_ALL; SELECT * FROM EMP01; -- 저장 프로시저의 오류 원인 살피기 DROP TABLE EMP01; CREATE TABLE EMP01 AS SELECT * FROM EMP; SELECT * FROM EMP01; DROP PROCEDURE DEL_ALL; CREATE OR REPL..

    PL/SQL

    PL/SQL

    SET SERVEROUTPUT ON -- 출력해 주는 내용을 화면에 보여주도록 설정한다. BEGIN DBMS_OUTPUT.PUT_LINE('HELLO WORLD!'); END; / -- PL/SQL에서 SELECT INTO문 -- PL/SQL의 SELECT 문으로 EMP 테이블에서 사원번호와 이름을 조회한다. SET SERVEROUTPUT ON DECLARE -- %TYPE 속성으로 컬럼 단위 레퍼런스 변수 선언 VEMPNO EMP.EMPNO%TYPE; VENAME EMP.ENAME%TYPE; BEGIN DBMS_OUTPUT.PUT_LINE('사번 / 이름'); DBMS_OUTPUT.PUT_LINE('-------------'); SELECT EMPNO, ENAME INTO VEMPNO, VENAME F..

    사용자 관리

    -- user01 계정(비밀번호: tiger)을 생성하고 -- 해당 계정에서 오라클 데이터 베이스에 접속해서, 테이블을 생성할 수 있는 권한을 부여하시오. CONN SYSTEM/SYS CREATE USER USER01 IDENTIFIED BY TIGER; GRANT CREATE SESSION, CREATE TABLE, RESOURCE TO USER01;

    시퀀스

    -- 시퀀스 CREATE SEQUENCE DEPT_DEPTNO_SQ INCREMENT BY 10 START WITH 10; SELECT DEPT_DEPTNO_SQ.NEXTVAL FROM DUAL; -- 다음 값을 알아내기 위해 SELECT DEPT_DEPTNO_SQ.CURRVAL FROM DUAL; -- 시퀀스의 현재 값을 알아내기 위해 SELECT SEQUENCE_NAME, MIN_VALUE, MAX_VALUE, INCREMENT_BY, CYCLE_FLAG FROM USER_SEQUENCES; SELECT * FROM DEPT_COPY; INSERT INTO DEPT_COPY VALUES(50, 'TEST', 'TEST'); ALTER TABLE DEPT_COPY ADD PRIMARY KEY(DEPTN..

    가상 테이블인 뷰

    -- 가상 테이블인 '뷰' -- 기본 테이블 생성하기 DROP TABLE DEPT_COPY; CREATE TABLE DEPT_COPY AS SELECT * FROM DEPT; DROP TABLE EMP_COPY; CREATE TABLE EMP_COPY AS SELECT * FROM EMP; SELECT * FROM DEPT_COPY; SELECT * FROM EMP_COPY; -- 뷰 정의하기 CREATE OR REPLACE VIEW EMP_VIEW30 AS SELECT EMPNO, ENAME, SAL, DEPTNO FROM EMP_COPY WHERE DEPTNO=30; -- "insufficient privileges" SELECT * FROM EMP_VIEW30; -- 단순 뷰의 컬럼에 별칭 부여하기..