본문 바로가기

Database9

H2 설정 및 접속 방법 H2 H2는 자바로 작성된 관계형 데이터베이스 관리 시스템이다. 자바 애플리케이션에 임베드하거나 클라이언트-서버 모드에서 구동할 수 있다.(출처: 위키백과) 1. 의존성 추가 build.gradle에 'com.h2database:h2'를 추가해준다. dependencies { ... runtimeOnly('com.h2database:h2')} 2. DataSource 설정 properties나 yml 파일 등에 아래와 같이 선언한다. # H2 Settingspring.datasource.driverClassName=org.h2.Driverspring.datasource.url=jdbc:h2:~/test;AUTO_SERVER=TRUEspring.datasource.username=saspring.datas.. 2019. 1. 3.
오라클 LPAD 함수 오라클 LPAD 함수 : 좌측에 자리수 만큼 채워주는 함수 LPAD( 변수, 길이, 변형자 ) 예제 1) SELECT LPAD('ABCDE', 7, '*') FROM DUAL결과 : **ABCDE 예제 2)SELECT LPAD('1', 7, '0') FROM DUAL결과 : 0000001 보통 시퀀스로 순번을 만들고 char 형으로 값을 채워 넣어준다. 이 때 0을 채워 넣기위해 프로그램을 써야하지만, DB에서 LPAD 함수를 사용하기만 하면 된다. 이 글과 비교할 블로그글 link : http://thatisgood.tistory.com/entry/oracle-tochar-%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%88%AB%EC%9E%90-%EA%B3%B5%EB%B0%.. 2014. 5. 9.
oracle Trigger(오라클 트리거) 정의 oracle trigger ■ 개요 테이블에 대한 이벤트를 자동으로 실행 해 주는 것이다. 즉, 자동으로 실행되는 PL/SQL 문이라고 보면 된다. 예를 들면 A,B,C 라는 테이블에 공통으로 사원번호가 있다 . A테이블의 사원번호가 지워지면 B,C테이블의 회원번호도 자동으로 지워지게하거나 Update , insert 등을 할 수 있다. Insert, Update, Delete이 실행되는 시점 전에 또는 후에 동반되어야 하는 작업을 정의한다. 즉, DML(데이터조작언어) 데이터 상태의 관리를 자동화 하는 것이다. --자료의 무결성을 유지 --변경된 자료 및 변경한 유저를 기록해서 테이블의 변경정보 감시 --지정한 이벤트가(DML)가 발생할때마다 자동으로 실행되는 PL/PQL 블럭 --자동 호출(호출문 없.. 2014. 4. 10.
[SQL] WHERE 1=1 하는 이유 WHERE 1=1 하는 이유 동적으로 조건절을 붙일 수 있다는 점과, 불완전한 SQL문을 방지하고자 쓴다. 아래는 USER 테이블에서 활성화된 여성 고객을 찾고자 하는 쿼리 예제이다. SELECT * FROM USER WHERE activeYn = #{activeYn} AND gender = 'F'만약 WHERE절에 if 구문을 넣었는데 activeYn 파라미터가 빈 값으로 넘어온다면 어떤 일이 벌어질까? 아마도 다음과 같은 SQL이 만들어질 것이다. SELECT * FROM USER WHEREAND gender = 'F'불완전한 SQL문이 만들어졌다.이 때문에 사전에 에러를 방지하고자 아래처럼 WHERE 1=1을 하는 이유도 있을 것이다. SELECT * FROM USER WHERE 1=1 AND ac.. 2014. 4. 7.
오라클 - 모든 시퀀스 조회 SELECT * FROM all_objectsWHERE object_type = 'SEQUENCE'; 2014. 3. 28.
Oracle 자동증분 Sequence와 max(seq)+1의 차이 Oracle 자동증분 Sequence와 max(seq)+1의 차이 데이터베이스 테이블의 숫자로 된 unique key 컬럼의 경우 유일한 고유번호를 자동으로 부여할 떄 sequence를 생성하여 사용하거나 Max(seq)+1을 사용하여 자동증분하게 한다. Max를 사용할 경우 Sequence처럼 Object를 생성하는 번거로움을 줄일 수 있어 보다 편하고 빠르게 진행이 가능하나, Max(no)를 찾기 위해 table에 Full scan을 해야하고 Insert into시 다른 session에 의해 중복값이 등록될 수 있는 위험이 높아 Sequence 사용을 권장 한다고 한다. 시퀀스는 생성의 번거로움이 있고, 채번 번호에 중간 중간 번호가 빠질 수 있으며, 빈번한 생성으로 인하여 관리가 다소 어려울 수 있.. 2014. 3. 28.
oracle to_char 를 이용한 숫자 공백 채우기 99 --> 0099 , FM00000000 의미 oracle의 to_char 함수를 이용해서 2자리 숫자를 8자리(혹은 그 이상)으로 만드는 방법 1. 문제 :회사원의 사번과 오늘 날짜와 시퀀스값(여기선 강제로 11로 함)을 조합하여 총 length가 20인 고유번호를 만들기로 했다.- 쿼리를 아래와 같이 만들었다.select 'EMP001'||'-'||TO_CHAR(SYSDATE,'YYMMDD')||TO_CHAR('11','00000000') as t from dual - 실행을 해보니 결과값이 아래와 같았다.EMP001-121109 00000011 - 121109 이후에 공백이 생겼다... 왜 그럴까? 2.해결법 - to_char의 속성상 공백부분은 + 또는 -의 부호값이 들어가는 부분이란다. 그때는 FM을 써서 포매팅 해주면 된다. - (실 값이.. 2014. 2. 5.
Oracle DECODE 함수 사용 방법 DECODE 함수 오라클에서만 지원해주는 함수이며, SELECT 문장 내에서 비교연산을 수행하는 함수 DECODE(컬럼명, '조건', 같은 결과, 다른 결과)ex) DECODE(itemno, '001', '가공식품', '비가공식품') DECODE(컬럼명, '조건1', '값1', '조건2', '값2', '조건3', '값3'...)ex) DECODE(itemno, '001', '가공식품', '002', '비가공식품', '003', '냉동식품'...) DECODE 함수내에 DECODE 중복 사용가능 오라클에서만 제공하는 함수이기 떄문에 나중에 이 쿼리를 mssql이나 mysql에서 사용하게 된다면 좀 피곤하게 될 것 같다. 2014. 2. 5.
db와 jdbc 관련자료 / 오라클(oracle) 설치 switch workspace -> jdbc workspace 를 생성한다. * 폰트 설정 * 줄넘버 * jdk 설정 http://192.168.7.44/shares로 접속www.oracle.com 으로 계정 생성, 로그인 후 다운 *오라클 설치 administrator : sys or system --> 패스워드 : oracle *오라클 설치후 제어판-관리도구-서비스- Oracle 관련 수동으로 설정 , 시작 - 오라클 - 데이터베이스로 시작으로 오라클을 실행 *오라클 데이터베이스에서 자신의 계정 만들기 **계정생성시작- Run SQL Commend Line실행connect ID는 system, 비번은 위에 설치할때 입력한 비번create user [ID입력] identified by [패스워드]gra.. 2013. 8. 29.
반응형