DB/Oracle
-
Oracle - PackageDB/Oracle 2019. 1. 8. 16:19
함수나 프로시저를 분류해서 한 묶음으로 묶을 수 있다. 패키지를 정의하고 구현하면 1. 애플리케이션을 좀 더 효율적으로 개발할수 있게 도와준다. 2. 관련된 스키마 오브제그들을 재 컴파일할 필요 없이 수정이 가능하다. 3. 한번에 여러개의 패키지 오브젝트들을 메모리로 로드할 수 있다. 4. 프로시저나 함수들의 오버로딩이 가능하다. - 패키지 내에 정의된 함수나 프로시저에서만 오버로딩이 가능하고 개별 선언된 함수나 프로시저는 오버로딩할 수 없다. 5. 패키지 내의 모든 타입, 항목, 서브 프로그램들을 public이나 private으로 사용할 수 있다. - private으로 선언되면 패키지 내에서만 사용 가능하다. 패키지란 - 프로시저, 함수 뿐만 아니라 변수, 상수, 커서, 예외 들을 하나로 묶은 캡슐화 ..
-
Create ProcedureDB/Oracle 2019. 1. 8. 15:29
프로시저는 함수와 달리 특정 처리를 수행한다. 데이터를 조회함을 넘어서 조작을 할 수 있다. 신입사원 등록시저를 통한 프로시저 생성 예 ) PL/SQL에서는 마지막에 /을 입력 해서 생성한다. 성, 이름, 이메일, 직원번호를 입력받으면 테이블에 insert시키는 작업을 수행하는 프로시저이다. 프로시저를 수행할 때는 exec나 execute 프로시저명 ( 파라미터.. ); 로 사용할 수 있다. 프로시저 수행 후 select를 통해 데이터가 들어갔는지 확인할 수 있다. begin에서 프로시저 본문처리를 통해, insert가 아닌 update-set이나 select문도 가능하다. begin 처리문에서 commit, rollback의 트랜잭션 처리를 잘해야한다.
-
Caused by: java.sql.SQLException: ORA-12899: value too large for columnDB/Oracle 2018. 10. 4. 11:48
Caused by: java.sql.SQLException: ORA-12899: value too large for column "SAFEPAY"."PRODUCT"."FILE_NAME" (actual: 36, maximum: 20) alter table SAFEPAY.PRODUCT modify (FILE_NAME varchar2(36)); 로 actual 만큼 size 변경
-
Oracle - SQL Developer ERDDB/Oracle 2018. 8. 27. 01:25
최신 SQL Developer를 설치하기 위해선 Java8 버전이상이 필요하다. SQL Developer를 설치 하고, DB를 연결 한 다음, 보기 -> 브라우저 로 창을 띄우고 관계형 모델에서 새 관계형모델을 만든다. 관계형모델을 만들고나서 가운데 위쪽 메뉴얼에 창크기를 눌러서 새 테이블을 만들어서 ERD 설계를 할 수 있다. 설계를 다하고 나서 DDL로 보기를 누르면 설계에 필요한 쿼리문을 확인할 수 있다. 데이터 모델러 -> 임포트 -> erwin파일이나 다른 xml파일로도 구성도를 볼 수 있다.
-
Schema 작성DB/Oracle 2018. 8. 8. 11:28
DB이자 SCHEMA 작성 SYSTEM 으로 접속 -> User에 들어가서 우클릭 -> Create -> USER 선택 HR의 권한을 가지고 온다. ERD Model에서 Tools -> Forward Engineer -- F5 누르면 query대로 TABLE 설계CREATE TABLE CUSTOMER( PHONE VARCHAR2(13) NOT NULL , NAME VARCHAR2(100) NOT NULL , ADDRESS VARCHAR2(2000) NOT NULL ); CREATE UNIQUE INDEX XPK고객 ON CUSTOMER(PHONE ASC); ALTER TABLE CUSTOMER ADD CONSTRAINT XPK고객 PRIMARY KEY (PHONE); CREATE TABLE DELIVER..