일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- html
- #이클립스
- 설정
- log4j2
- 환경설정
- #자바
- Like
- 오라클
- 플러그인
- CodeGlance
- log4j
- #오라클
- #java
- #Oracle
- 스프링부트
- springboot
- Eclipse
- mariadb
- Oracle
- 스프링
- Plugins
- 이클립스
- Spring
- 인텔리제이
- 설치
- 소스코드 맵
- IntelliJ
- #eclipse
- #자바가상머신
- #JVM
- Today
- Total
목록데이터베이스/Oracle (11)
커피와 개발자
TEMPORARY TABLE은 하나의 세션 동안이나 트랜젝션(COMMIT 하기 전) 동안 임시적으로 데이터를 보관하기 위해 제공된다. 세션이나 트랜젝션이 종료되면 테이블의 데이터는 TRUNCATE 된다. 일반 테이블과 다르게 테이블의 레이아웃은 dictionary에 존재하지만 데이터는 디스크 상에 존재하지 않고 메모리상에서 [INSERT] [UPDATE] [DELETE] [SELECT] 하는 테이블이다. TEMPORARY TABLE syntax CREATE GLOBAL TEMPORARY TABLE [테이블명] ON COMMIT [DELETE|PRESERVE] ROWS; ON COMMIT PRESERVE ROWS : 세션별로 데이터가 존재 (세션이 종료 시 데이터 소실) ON COMMIT DELETE RO..
LIKE문에서 '%'는 전체를 의미하고 '_'는 한 단어를 의미하는 특수문자로 사용된다. 만약 LIKE문을 사용할 때 '%'와 '_'를 포함하는 단어를 검색하고자 할 때는 ESCAPE를 사용해야 특수문자로 인식되어 사용할 수 있다. 예) 프로시저의 명에서 '_PRC'가 포함된 문자열을 찾는 경우 ('%'를 포함하는 경우도 동일) SELECTOBJECT_NAME , OBJECT_TYPE FROMSYS.ALL_PROCEDURES WHEREOBJECT_NAME LIKE '%#_PRC%' ESCAPE '#' ORDER BY OBJECT_TYPE , OBJECT_NAME;
오라클 쿼리에서는 문자열을 사용 시 홑 따옴표(')로 문자열 사용하므로 문자열 안에 홑 따옴표(')를 포함하여 사용하고 싶은 경우 escape를 해야 한다. 방법은 홑따옴표를 두 번 연속으로 사용하게 되면 문자열의 의미에서 문자로써 표현된다. WITH TBL AS ( SELECT 'TEST STRING' AS COL FROM DUAL UNION SELECT 'It''s TEST STRING AS COL FROM DUAL ) SELECT * FROMTBL WHERECOL LIKE '%''%'; -- 아래의 LIKE 문과 혼동하지 말것! WITH TBL AS ( SELECT 'TEST STRING' AS COL FROM DUAL UNION SELECT 'It''s TEST STRING AS COL FROM ..
프로그램을 처리하는 중 두 기간을 비교할 경우 사용 예를 들어 2019-08-01 ~ 2019-08-31 이 기간이 입력되어야 한다고 할 때, 기존의 From~To기간과 겹치지 않도록 입력해야 한다는 조건이 존재하는 경우 이미 입력된 상태의 두 기간과 입력할 두 기간이 서로 겹치는지 확인할 수 있는 쿼리 -- 두 기간의 중복(겹침)여부 판단하는 쿼리 SELECT COUNT(1) AS CNT FROM CHK_TABLE_NAME WHERE KEY0 = #{KEY_VAL0} AND KEY1 = #{KEY_VAL1} AND STT_DT #{STT_DT_VAL} 여기서 입력되는 기간이 포함 될지 여부는 각각의 조건에 따라 다를 수 있음.
프로시저나 함수가 변경 되었는지를 확인하고자 할 때 아래의 쿼리를 이용하여 확인 할 수 있다. SELECT OBJECT_TYPE , OBJECT_NAME , STATUS , TO_CHAR( CREATED, 'YYYYMMDD' ) AS CREATED , TO_CHAR( LAST_DDL_TIME, 'YYYYMMDD' ) AS LAST_DDL_TIME FROM USER_OBJECTS WHERE OBJECT_TYPE IN ( 'FUNCTION', 'PROCEDURE' ) AND TO_CHAR( LAST_DDL_TIME, 'YYYYMMDD' ) >= #{변경기준일자} AND OBJECT_NAME = #{함수명 또는 프로시저명} ORDER BY OBJECT_TYPE , OBJECT_NAME; 또한 변경된 부분을 찾..
1. SQL Developter 다운로드 사이트에 접속합니다.(다운로드 버튼을 클릭합니다.)2. [Accept License Agreenent] 를 선택한 후 아래 다운로드 받을 파일을 선택합니다.Windows 64bit with JDK 8 included 파일은 자바 JDK 1.8 버전을 포함한 파일이며Windows 32-bit/64bit는 자바 JDK 1.8 버전을 포함하지 않은 파일입니다.자바를 이미 따로 설치했다면 두 번째 파일을 받으시면 됩니다.3. 다운로드 받은 압축파일을 풀고 폴더 안에 sqldeveloper.exe 파일을 실행합니다.(저는 이미 자바 JDK1.9를 설치한 상태입니다.)[Browse...] 버튼을 클릭하여 설치된 자바의 JDK 폴더의 경로를 지정 해줍니다.이전버전의 환경 정보..
오라클을 다운로드하기 위해서는 오라클 사이트의 회원가입이 필요합니다. (미리 회원가입을 해 놓으시면 됩니다.) 1. 오라클 다운로드 사이트 에 접속합니다.2. Accept License Agreement 에 동의합니다. 3. 아래의 다운로드 목록 중에서 자신의 OS에 맞는 프로그램을 선택합니다.(저는 Windows 10 64bit를 선택하였습니다.)File1과 2를 각각 다운로드 하거나 SeeAll을 다운로드 합니다. (저는 File1과 2를 각각 다운로드하였습니다.) 4. 다운로드시 로그인이 필요합니다. 계정이 없으면 회원가입을 해주시면 됩니다. 5. 다운로드가 완료되면 다음과 같이 Fil1과 2에 대한 압축파일을 다운로드 완료한 상태일 것입니다.(오라클의 설치에서는 설치경로가 한글명이 없어야 합니다 ..
ORA-12899: value too large for columnORA-12899: "유저명"."테이블명"."컬럼명" 열에 대한 값이 너무 큼(실제: m, 최대값: n)ORA-12899는 INSERT를 한다거나 UPDATE를 하다가 다음과 같은 에러가 발생하는 경우가 있다.실제로 최대값보다 실제 입력된 값이 커서 발생하는 경우이다.오라클의 문자셋 NLS_CHARACTERSET의 설정의 문제다 ( 캐릭터셋(charset)의 문제 -> UTF-8 과 ASCII의 Byte 수가 달라 각 3Byte, 2Byte, 1Byte를 계산하다 문제가 생긴 경우)대다수의 경우는 다음과 같이 해결이 된다.SELECT NAME,VALUE$ FROM PROPS$ WHERE NAME LIKE 'NLS%' ;위의 쿼리로 설정된 ..
ORA-01460: unimplemented or unreasonable conversion requested코딩을 하다보면 다음과 같은 에러가 나는 경우가 정말 간혹 한번쯤 있다.ORA-01460: 요구된 변환은 실행될 수 없습니다.보통 CLOB(Character Large Object)를 사용하면서 VARCHAR2 와 변경 문제 때문에도 나는 경우가 있지만,특별히 CLOB를 사용하지 않은 경우 VARCHAR2에 컬럼의 바인딩된 입력 값의 byte를 체크해 봐야 한다.VARCHAR2는 4000 byte 이상 입력하지 못하면서 결국 3999 byte에서 끊어줘야 데이터베이스에 Insert 또는 Update 할 수 있게된다.Java 로직부에서 String에 4000 byte 이상을 전달하고 쿼리에서 VAR..
ALTER USER 유저이름 IDENTIFIED BY 변경할 비번