전체 글 72

[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

[Notion] 인생 최고의 노트앱, 노션. 크레딧으로 1년 무료로 사용하기

노션과 만나다 에버노트 1년 약정이 끝나가던 어느 날 온갖 버그에 불만을 품고 대체 할 만한 메모 프로그램을 찾고있었다. 사실 별로 큰 기대는 안하고 있던 중 발견한 녀석. 사용한지 30분만에 결제를 결정했고, 현재는 나의 메인 노트앱이 되었다. 정리하는 걸 좋아하고 깔끔하게 하기 좋아하는 당신이라면 노션은 정말 최고의 프로그램일 것이다. 노션 기능 간단한 소개 위 사진은 내가 정리 해 놓은 대시보드이다. 노션을 효율적으로 사용하기 위해 가장 첫 페이지에 본인이 자주 사용하는 블럭들을 모아놓고 사용하는 사람들이 많이 있었다. 실제로 사용해 본 결과 굉장히 편리하고, 본인이 원하는 이미지와 커버, 기능들을 추가할 수 있기에 꾸미기 좋아하는 사람들에게 정말 최고가 아닐까 싶었다. (무엇보다 엄청 예쁘다) 사..

ETC/Information 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

[SQL/ORACLE] 제약조건 설명 및 사용법 (NOT NULL, UNIQUE, PK, FK, CHECK)

: 무결성 제약조건 테이블에 부적절한 자료가 입력(INSERT, UPDATE) 되는 것을 방지하기 위해서 테이블 생성할 때 각 컬럼에 대해서 정의하는 여러가지 규칙. (테이블 생성 후 컬럼에 규칙정의하는 것도 가능) NOT NULL 해당 컬럼값으로 NULL을 허용하지 않음 (행 단위)입력시 데이터를 무조건 받음 유일하지 않고 반드시 입력 또는 수정해야 할 컬럼에 설정 UNIQUE 테이블내에서 해당 컬럼값은 항상 유일무이한 값을 가질 것 중복을 허용하지 않음 중복데이터는 방지, NULL의 중복은 방지하지 못함 ADD NOT NULL은 불가능 =>테이블 내의 모든 컬럼은 특별한 설정(NOT NULL또는 PRIMARY KEY)을 하지 않았을 경우 NULL값이 기본으로 설정되어짐 PRIMARY KEY (기본키,..

Web develop/SQL 2019.06.15

[SQL/ORACLE] TOP-N 사용 예제

ROWID: 주소로서 row가 실제로 저장되어있는 공간을 표시 ROWNUM: 번호로서 row의 주소 순서대로 출력되어짐. 출력되는 행에 대해 첫 행부터 순차적인 번호를 부여 (1,2,3,...) SELECT empno, ename, sal, rownum FROM emp; SELECT empno, ename, rownum FROM emp WHERE rownum 해결: rownum을 먼저 1부터 출력하게 하고 그 결과에서 중간번호(1아닌 값)을 조회 SELECT empno, ename, sal FROM (SELECT empno, ename, sal, rownum rb FROM (SELECT empno, ename, sal FROM emp ORDER BY sal desc) --1차: 정렬 ) --2차: 출력된..

Web develop/SQL 2019.06.15

[SQL/ORACLE] VIEW 형식 및 사용법

VIEW : 물리적인 테이블을 근거한 논리적인 가상테이블 (가상: 실질적으로 데이터를 저장하고 있지 않는다.) ⇒ 독립적인 테이블은 아니다 기본테이블에 대한 하나의 쿼리문(text를 저장하는 객체) 자주 사용되는 복잡하고 긴 쿼리문을 저장하는 객체 특정컬럼만 보여지게끔 하여 보안을 목적으로 사용. 제한적인 데이터 조회 뷰는 기준테이블을 참조하는(바라보는) 논리적인 테이블이기에 기준테이블 수정시 같이 변동된다. 형식 CREATE VIEW 뷰이름; 옵션 CREATE \[OR REPLACE\] \[FORCE|NOFORCE\] VIEW 뷰이름 \[별명\] AS SELECT\_statement \[WITH CHECK OPTION \[CONSTRAINT 제약명\]\] \[WITH READ ONLY \[CONSTRA..

Web develop/SQL 2019.06.15

[SQL/ORACLE] CASCADE 사용법 및 예제

CREATE TABLE emp5( deptno NUMBER(2) REFERENCES 참조테이블명(참조컬럼명) ON DELETE CASCADE ALTER TABLE dept3 DROP CONSTRAINT dept3_uk CASCADE; DELETE CASCADE 사용시 자동으로 관련된 모든 FK를 먼저 삭제해줌 부모 (부서)테이블에서 특정 번호(예:10번 부서)를 삭제했을 때 자식 (사원)테이블에서 10번 부서에 근무하는 사원들을 삭제 CREATE TABLE emp5( deptno NUMBER(2) REFERENCES 참조테이블명(참조컬럼명) ON DELETE SET NULL ); DELETE SET NULL 사용시 부모 (부서)테이블에서 특정 번호(예:10번 부서)를 삭제했을 때 자식 (사원)테이블에서 ..

Web develop/SQL 2019.06.15