728x90
반응형
728x90
반응형

 

리눅스 파일, 디렉토리(폴더) 이동하기

  • 파일 이동하기
  • 디렉토리(폴더) 이동하기

 

파일명 변경할 때도 mv 써서 쉽게 이동하여 적용 가능

 

 

1) 파일 이동하기

mv [디렉토리/파일이름.txt] [목적지 디렉토리/파일이름.txt]

ex) /example/test.txt 파일을 /emample/temp/test.txt 경로로 이동하기

현재경로 보기 pwd -> /example

mv ./test.txt ./temp/test.txt 

 

2) 디렉토리 안 모든 파일 이동하기 / 디렉토리 이동하기 / 디렉토리 이름변경하기

mv [디렉토리명] [옮기고 싶은 디렉토리명]

ex) example 디렉토리안에 있는 A디렉토리(안에 파일포함)를 B디렉토리로 이동하기

현재경로 보기 pwd -> /example

mv ./A ./B

 

 

 

Last modified date : 23.01.02

728x90
반응형
728x90
반응형

 

Oracle Random 함수 사용방법

 

 

0 ~ 10 까지 중 난수 랜덤 생성

SELECT DBMS_RANDOM.VALUE() * 10 FROM DUAL;

 

0 ~ 10 까지 중 자연수 랜덤 생성

SELECT ROUND(DBMS_RANDOM.VALUE() * 10) FROM DUAL;

SELECT ROUND(DBMS_RANDOM.VALUE(0, 10)) FROM DUAL;

 

알파벳 대문자 5자리 랜덤 생성

SELECT DBMS_RANDOM.STRING('U', 5) FROM DUAL;

 

알파벳 소문자 5자리 랜덤 생성

SELECT DBMS_RANDOM.STRING('L', 5) FROM DUAL;

 

알파벳 대, 소문자 5자리 랜덤 생성

SELECT DBMS_RANDOM.STRING('A', 5) FROM DUAL;

 

알파벳 대문자, 숫자 5자리 랜덤 생성

SELECT DBMS_RANDOM.STRING('X', 5) FROM DUAL;

 

알파벳 대, 소문자, 숫자, 특수문자 5자리 랜덤 생성

SELECT DBMS_RANDOM.STRING('P', 5) FROM DUAL;

 

 

 

728x90
반응형

'DB > Oracle' 카테고리의 다른 글

[Oracle] CLOB -> VARCHAR 변환  (0) 2021.02.18
[Oracle] BLOB, CLOB 차이점  (0) 2020.12.21
[Oracle] Decode 함수 Example  (0) 2020.01.04
[Oracle] NVL, NVL2 Example  (0) 2020.01.02
[Oracle] ALL_TABLES, USER_TABLES, TAB 전체 테이블 조회 Example  (0) 2019.08.25
728x90
반응형

 

Spring에서 Mabits의 SelectKey에 대해 알아보기

 

SQL 수행작업 중

1) INSERT 이전에 생성할 값(랜덤인덱스 값등)

2) INSERT 이후에 알 수 있는 값(랜덤인덱스 값등)

1번과 2번에 필요한 경우가 생긴다.

 

2번 같은 경우 결과값을 받은 후 다시 쿼리를 실행하는 방법이 있으나,

불필요한 여러번의 DB 입출력은 시간이 느려진다는 단점이 있다.

그때, selectKey를 사용하여 바로 적용할 수 있다.

마이바티스, 아이바티스 둘다 적용이 가능하다.

 

selectKey는 DB에 명령을 한번만 보내며, 우선 입력한 값의 결과값을 다음 쿼리로 바로 return 시켜주는 것이다.

 

마이바티스 한글 번영 문서 : http://www.mybatis.org/mybatis-3/ko/

 

MyBatis – 마이바티스 3 | 소개

마이바티스는 무엇인가? 마이바티스는 개발자가 지정한 SQL, 저장프로시저 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크이다. 마이바티스는 JDBC로 처리하는 상당부분의 코드와 파라미터 설정및 결과 매핑을 대신해준다. 마이바티스는 데이터베이스 레코드에 원시타입과 Map 인터페이스 그리고 자바 POJO 를 설정해서 매핑하기 위해 XML과 애노테이션을 사용할 수 있다.

mybatis.org

마이바티스 Blog :  http://blog.mybatis.org/

 

The MyBatis Blog

A blog about the the MyBatis data mapper framework.

blog.mybatis.org

 

 

SelectKey 엘리먼트 속성

 

selectKey 적용 전 비교 테이블 데이터 확인하기

ex) SELECT * FROM TEST

 

 

 

SelectKey BEFORE 적용하기

 

결과 확인하기

 

에러시 참고할 부분

1. DAO클래스일 경우 XML의 쿼리가 INSERT 혹은 UPDATE를 맞게 셋팅했는지

2. 호출 XML파일의 네임스페이스가 맞는지 확인하기

3. Mapper인터페이스 일 경우 XML의 id 확인하기

 

 

SelectKey AFTER 적용하기

 

결과 확인하기

1) DB값 들어갔는지

 

2) Controller(JAVA)에서 AFTER로 보낸 값을 받았는지 확인하기

 

에러시 참고할 부분

1) XML에서 INSERT 혹은 UPDATE 구문에서 사용한 ParameterType으로 값이 들어감

- > VO, MAP등 보냈던 ParameterType으로 들어가므로 VO같은경우 afterCnt라는 변수가 있어야함

 

 

 

728x90
반응형
728x90
반응형

 

Oracle Decode 함수 사용방법

 

Decode 함수 - IF, Else의 기능을 수행

 

Decode("컬럼명", "조건값1", "조건값1일 경우 결과값", "조건값1이 아닐 경우 결과값")

ex) SELECT SEQ, CNT, VAL, DECODE(VAL, 'RED', '빨강', '빨강이아닙니다') AS DECODE FROM TEST;

 

 

 

Decode("컬럼명", "조건값1", "조건값1일 경우 결과값"

                      , "조건값2", "조건값2가 아닐 경우 결과값"

                      , "조건값1과 조건값2 모두 아닐때[ELSE라고생각하면 쉬움])

 

ex) SELECT SEQ, CNT, VAL

             , DECODE(VAL, 'RED', '빨강', 'BLUE', '파랑', '빨강과 파랑이 아닙니다') AS DECODE FROM TEST;

728x90
반응형

'DB > Oracle' 카테고리의 다른 글

[Oracle] BLOB, CLOB 차이점  (0) 2020.12.21
[Oracle] Random 함수 Example  (0) 2020.01.05
[Oracle] NVL, NVL2 Example  (0) 2020.01.02
[Oracle] ALL_TABLES, USER_TABLES, TAB 전체 테이블 조회 Example  (0) 2019.08.25
[Oracle] Object Select Example  (0) 2019.08.25
728x90
반응형

 

Oracle NVL, NVL2 함수 사용방법

 

NVL 함수 - 해당 컬럼의 데이터가 NULL인 경우 지정값을 출력

 

SELECT NVL("컬럼명", "컬럼의 값이 NULL일 경우 지정값 출력") FROM 테이블명;

ex) SELECT SEQ , CNT, NVL(CNT, 0) FROM TEST;

 

 

 

NVL2 함수 - 해당 컬럼의 데이터가 NULL이 아닌 경우 지정값1, NULL인 경우 지정값2를 출력

SELECT NVL2("값", "컬럼의 값이 NULL이 아닌 경우 지정값1", "컬럼의 값이 NULL인 경우 지정값2") FROM 테이블명;

ex) SELECT SEQ, CNT, NVL2(CNT, 100, 0) FROM TEST;

 

 

 

728x90
반응형
728x90
반응형

 

DB내에서 모든 테이블을 조회하기

 

 

전체 테이블 조회

  • SELECT * FROM ALL_TABLES; (관리자일 경우)
  • SELECT * FROM USER_TABLES(관리자 아닐 경우)
  • SELECT * FROM TAB(관리자 아닐 경우)

 

소유자(OWNER) 조회

SELECT FROM ALL_TABLES WHERE OWNER LIKE '%OWNER명%';

 

테이블명 포함 된 조회

SELECT FROM USER_TABLES WHERE TABLE_NAME LIKE '%테이블명%';

 

테이블스페이스 이름으로 조회

SELECT FROM USER_TABLES WHERE TABLESPACE_NAME LIKE '%테이블스페이스명%';

 

==================================================

※. 아래는 부가 설명이 있음

==================================================

 

 

전체 테이블 조회 방법 3가지

  • ALL_TABLES
  • USER_TABLES
  • TAB

 

 

ALL_TABLES 테이블 구조

 

USER_TABLES 테이블 구조

 

TAB 테이블 구조

 

 

관리자 계정일 경우 - 모든 계정의 DB를 다 보여줌 ALL_TABLES (추천)

ex) SELECT * FROM ALL_TABLES; 

 

 

관리자 계정이 아닐 경우 (방법 3가지)

ALL_TABLES VS USER_TABLE (추천) = TAB

 

1. ALL_TABLES - 현재 계정관리자 DB만 보여짐

ex) SELECT * FROM ALL_TABLES;

 

 

2. USER_TABLE - 현재 계정이 가지고 있는 DB만 보여짐

ex) SELECT * FROM USER_TABLES;

 

 

3. TAB - 현재 계정이 가지고 있는 DB만 보여짐

※주의 : TNAME, TABTYPE 컬럼만 있음

ex) SELECT * FROM TAB;

 

 

 

728x90
반응형

'DB > Oracle' 카테고리의 다른 글

[Oracle] Decode 함수 Example  (0) 2020.01.04
[Oracle] NVL, NVL2 Example  (0) 2020.01.02
[Oracle] Object Select Example  (0) 2019.08.25
[Oracle] ALTER Table Column ADD, MODIFY, DROP, RENAME Example  (0) 2019.08.25
[Oracle] Update Example  (0) 2019.07.21
728x90
반응형

 

오라클 Object 조회하기

 

계정에 접속 후, DB에 존재하는 OBJECT들의 정보를 관리하는 테이블 - USER_OBJECTS

 

USER_OBJECTS 테이블 구조

 

USER_OBJECTS 테이블의 OBJECT_TYPE의 종류

  • TABLE SUBPARTITION
  • INDEX PARTITION
  • TABLE PARTITION
  • SEQUENCE
  • LOB PARTITION
  • PROCEDURE
  • LOB
  • INDEX SUBPARTITION
  • PACKAGE
  • PACKAGE BODY
  • TRIGGER
  • TABLE
  • FUNCTION
  • INDEX
  • VIEW
  • TYPE
  • CLUSTER

 

 

OBJECT_TYPE이 TABLE 조회하기

SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE = 'TABLE';

 

OBJECT_TYPE이 VIEW 조회하기

SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE = 'VIEW';

 

OBJECT_TYPE이 FUNCTION 조회하기

SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE = 'FUNCTION';

 

OBJECT_TYPE이 INDEX 조회하기

SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE = 'INDEX';

 

OBJECT_TYPE이 LOB 조회하기

SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE = 'LOB';

 

OBJECT_TYPE이 PROCEDURE 조회하기

SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE = 'PROCEDURE';

 

OBJECT_TYPE이 SEQUENCE 조회하기

SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE = 'SEQUENCE';

 

 

728x90
반응형
728x90
반응형

 

테이블 컬럼 추가, 수정, 삭제, 컬럼명 변경 알아보기

 

ALTER Table

  • 컬럼 추가 (Column ADD)
  • 컬럼 수정 (Column MODIFY)
  • 컬럼 삭제 (Column DROP)
  • 컬럼명 변경 (Column RENAME)

 

 

 

1. 테이블에 컬럼 추가하기 (Column ADD)

ALTER TABLE 테이블명 ADD(컬럼명 데이터타입(데이터크기));

 

현재 상태 조회하기

ex) SELECT * FROM TEST;

 

컬럼 추가하기

ex) ALTER TABLE TEST ADD(TEST3 VARCHAR2(100));

 

결과 확인하기 

ex) SELECT * FROM TEST;

 

 

 

2. 테이블에 컬럼 수정하기 (Column MODIFY)

ALTER TABLE 테이블명 MODIFY(컬럼명 데이터타입(데이터크기));

 

현재 상태 조회하기

ex) SELECT TABLE_NAME, COLUMN_NAME, DATA_LENGTH FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = 'TEST';

 

컬럼 수정하기

ex) ALTER TABLE TEST MODIFY(TEST3 VARCHAR2(99));

 

결과 확인하기

ex) SELECT TABLE_NAME, COLUMN_NAME, DATA_LENGTH FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = 'TEST';

 

 

 

3. 테이블에 컬럼 삭제하기(Column DROP)

ALTER TABLE 테이블명 DROP COLUMN 컬럼명;

 

현재 상태 조회하기

ex) SELECT * FROM TEST;

 

컬럼 삭제하기

ex) ALTER TABLE TEST DROP COLUMN TEST3;

 

결과 확인하기

ex) SELECT * FROM TEST;

 

 

 

4. 테이블에 컬럼명 변경하기(Column RENAME)

ALTER TABLE 테이블명 RENAME COLUMN 현재컬럼명 TO 바꿀컬럼명;

 

현재 상태 조회하기

ex) SELECT * FROM TEST;

 

컬럼명 변경하기

ex) ALTER TABLE TEST RENAME COLUMN TEST2 TO TEST22;

 

결과 확인하기

ex) SELECT * FROM TEST;

 

 

728x90
반응형

+ Recent posts