일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 자동차수리시스템
- abstract
- 대덕인재개발원
- 정수형타입
- cursor문
- 메소드오버로딩
- 다형성
- GRANT VIEW
- oracle
- 생성자오버로드
- 환경설정
- 컬렉션프레임워크
- NestedFor
- 참조형변수
- 어윈 사용법
- EnhancedFor
- 인터페이스
- 컬렉션 타입
- 자바
- 추상메서드
- 예외처리
- Java
- 한국건설관리시스템
- 오라클
- 객체 비교
- exception
- 제네릭
- 예외미루기
- 사용자예외클래스생성
- 집합_SET
- Today
- Total
목록대덕인재개발원 (48)
거니의 velog
--분류테이블에 추가되거나, 변경될 때 분류코드를 항상 대문자로 처리하는 트리거 예제 CREATE or REPLACE TRIGGER tg_lprod_upper BEFORE INSERT or UPDATE ON lprod FOR EACH ROW BEGIN :NEW.lprod_gu := UPPER(:NEW.lprod_gu); END; / INSERT INTO lprod VALUES ((SELECT MAX(LPROD_ID) + 1 FROM LPROD), 'tt07', '트리거 테스트 '); SELECT * FROM lprod; SET SERVEROUTPUT ON; --장바구니 테이블에 입력이 발생할 때 재고 수불 테이블에 출고, 현재고를 변경하는 트리거 예제(2023년으로 예제 작성) CREATE or REPL..
-- 급여 정보를 자동 삭제하는 트리거 작성하기 --사원이 삭제되면 그 사원의 급여 정보도 자동 삭제되는 트리거를 작성해 보도록 합시다. --1. 이번에는 사원 테이블의 로우를 삭제해보자. DELETE FROM EMP01 WHERE EMPNO=2; --2. 사원번호 2를 급여 테이블에서 참조하고 있기 때문에 삭제가 불가능하다. --사원이 삭제되려면 그 사원의 급여 정보도 급여 테이블에서 삭제되어야 합니다. --사원의 정보가 제거 될 때 그 사원의 급여 정보도 함께 삭제하는 내용을 트리거로 작성하도록 합시다. CREATE OR REPLACE TRIGGER TRG_03 AFTER DELETE ON EMP01 FOR EACH ROW BEGIN DELETE FROM SAL01 WHERE EMPNO=:old.EM..
SET SERVEROUTPUT ON; --OUT 매개변수 예제 2 CREATE OR REPLACE PROCEDURE usp_MemberCartTop ( p_year IN VARCHAR2, p_amt OUT NUMBER , p_mem_name OUT member.mem_name%TYPE ) IS v_year VARCHAR2(5); BEGIN v_year := (p_year || '%'); SELECT mem_name, mem_amt INTO p_mem_name, p_amt FROM ( SELECT mem_name, SUM(prod_price * cart_qty) mem_amt FROM member, cart, prod WHERE cart_no LIKE v_year AND cart_member = mem_i..
(1) 로그인 -> sql, (id, pw). 정당한 사용자를 판별해야 함. selectOne( ); 동적 쿼리를 필요로 함(런타임에서 데이터를 입력받기 때문) SELECT PROD_ID, PROD_NAME, PROD_PRICE, PROD_PROPERSTOCK FROM PROD; CREATE TABLE T_PROD AS SELECT PROD_ID, PROD_NAME, PROD_PRICE, PROD_PROPERSTOCK FROM PROD; -- 서브쿼리를 통한 테이블 생성 SELECT * FROM T_PROD; COMMIT; [DBTest.java] package dbprogramming; import java.sql.CallableStatement; import java.sql.Connection; im..
--EXIT --EXIT [label] [WHEN 조건] -- - 반복문을 빠져 나간다. -- - WHEN 을 사용하여 조건에 따라서 빠져나간다. --EXIT WHEN 을 사용해 1부터 10까지 더하기 DECLARE v_sum NUMBER := 0; v_var NUMBER := 1; BEGIN LOOP v_sum := v_sum + v_var; v_var := v_var + 1; EXIT WHEN v_var > 10 ; END LOOP; DBMS_OUTPUT.PUT_LINE('1 부터 10 까지의 합 = ' || v_sum); END; / --FOR 문 --FOR index IN [REVERSE] 최소값 .. 최대값 LOOP -- 처리문장들; --END LOOP; --- index는 1씩 증가하는 자동선..
--WHILE 문 --반복될 때마다 조건을 확인하고 조건이 TRUE가 되어야 loop실행 -- - 조건이 만족할 때까지 반복 처리 -- - EXIT문은 WHILE LOOP를 벗어나게 한다 -- - CONTINUE문은 11g부터 제공된다. --1부터 10까지 더하기 SET SERVEROUTPUT ON; DECLARE V_SUM NUMBER := 0; V_VAR NUMBER := 1; BEGIN WHILE V_VAR
List, Set은 Collection 인터페이스를 상속받아서 구현. Map은 따로 함. HashMap, TreeMap, Properties... 여러 객체들이 Map을 상속받아 객체가 될 수 있는 클래스 중에 가장 많이 활용되는 것이 HashMap. 쌍으로 저장됨. HashMap map = new HashMap(); 이렇게 생성하면 메모리 저장? 메모리 구조 상 호출 스택에서는 map이라는 공간이 하나 만들어지고, HashMap(); 객체가 힙에 만들어지는데, 이를 도해하면 key 영역이 있고 이에 대응하는 value 영역이 있다. 마치 2차원 배열처럼 구성됨. 오라클에 ERD를 보면 데이터를 저장하는 기본 구조가 이러한 테이블 구조이다. PK가 Key 영역, 나머지를 Value 영역으로 취급할 수 있..
--조건에 따른 다중 ELSIF SET SERVEROUTPUT ON; -- 출력옵션으로 ON DECLARE v_num NUMBER := 67; BEGIN DBMS_OUTPUT.ENABLE; IF v_num > 90 THEN DBMS_OUTPUT.PUT_LINE('수'); ELSIF v_num > 80 THEN DBMS_OUTPUT.PUT_LINE('우'); ELSIF v_num > 70 THEN DBMS_OUTPUT.PUT_LINE('미'); ELSE DBMS_OUTPUT.PUT_LINE('분발합시다.'); END IF; END; / --SELECT INTO 로 변수에 값을 할당 SELECT * FROM PROD; DECLARE v_avg_sale PROD.PROD_SALE%TYPE; --NUMBER(1..
[ClassExample.java] package ddit.chap11.clazz; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Member; import java.lang.reflect.Method; import ddit.chap11.object.ObjectExample02; import ddit.chap11.ex01.Student; public class ClassExample { public static void main(String[] args) throws Exception { // 자바에서 사용되는 모든 class 와 interface 들의 일반적 정보 // class가..
--2020년도 판매금액이 8천만 이상인 거래처의 담당자 컬럼에 -- '우수거래처'로 갱신 ( WHERE절에 EXISTS문 사용 ) --1. 거래처테이블의 담당자 조회 SELECT BUYER_ID AS "거래처코드" , BUYER_NAME AS "거래처명" , BUYER_CHARGER AS "담당자" FROM BUYER; --2. 판매금액 8천만 이상 우수거래처로 지정(조회) – EXISTS를 통해 INTERSACT (교집합)를 구현 -- * BUYER테이블과 CART테이블은 직접적인 관계가 없으므로 PROD테이블을 통해 JOIN 실현 SELECT BUYER_ID AS "거래처코드" , BUYER_NAME AS "거래처명" , BUYER_CHARGER AS "담당자" , '우수거래처' AS "우수거래처"..