오라클 13

[오라클(oracle)] sql merge 기능 설명 및 예제

안녕하세요.오늘은 sql 문법을 소개하고자 합니다.바로 merge 문법 입니다. 제가 직접 실습한 위주의 포스팅을 하고자 하기때문에...정의 및 문법은 간략하게 설명드리겠습니다. 설명Merge 는 말 그대로 병합 입니다.두개의 테이블을 하나로 합치는 것 입니다.저는 처음에 insert into A select * from B이런식으로 단순 합병이 가능하여 merge의 기능을 얕잡아 봤는데중요한 것은 merge의 기능은 조건에 따라 update, delete가 가능 하다는 것입니다. 문법 merge into Table1 using Table2 on (병합조건절) when matched then update set 업데이트 내용 delete where 조건 when not matched then insert..

개발/DB 2019.10.22

[oracle, pgadmin 등] to_char 소수점 처리 하기

오라클에서 소수점 처리하기 위한 포스티을 간략하게 하겠습니다.그냥 사용법만 적어 놓고 쓰면 되기에.... 바로 설명 드리겠습니다. 사용법to_char(data, 'FM90.00') '9'는 해당자리 숫자를 의미, 없을 경우 공백으로 표시'0'은 해당 자리 숫자를 의미, 없을 경우 '0'으로 표시'FM'은 좌우 공뱅 제거 예시를 통해 알아보겠습니다. 쿼리문select to_char(00.456, '999.9') str from dual 00.456을 입력하고 999.9로 처리하였더니 결과값이 .5로 나왔습니다. '9'가 해당자리의 0을 공백처리 하였습니다. 결과 쿼리문select to_char(00.456, '099.9') str from dual'0'은 공백처리가 아닌 0으로 나타내기 때문에 값이 출력됩..

개발/DB 2018.05.29

오라클 테이블스페이스 생성, 계정생성, 계정삭제, 권한 처리

오라클 설치후 system 계정으로 들어와 계정을 생성하였습니다. 계정 생성 CREATE USER [유저명] IDENTIFIED BY [비밀번호] DEFAULT tablespace USERS TEMPORARY tablespace TEMP; ex) CREATE USER lee IDENTIFIED BY lee123 DEFAULT tablespace USERS TEMPORARY tablespace TEMP; 두번째줄에 tablespace를 입력 할수 있습니다. 테이블 스페이스 생성 ex) CREATE TABLESPACE test DATAFILE test SIZE 2048M AUTOEXTEND ON NEXT 4M MAXSIZE UNLIMITED LOGGING PERMANENT EXTENT MANAGEMENT L..

개발/DB 2017.05.17

[oracle] 오라클 11g 설치 / system 계정 로그인

안녕하세요 ~!오라클을 데스크탑에 설치를해야해서 설치 완료 후 ! 이렇게 적어 두려고 합니다. 오라클 홈페이지에서 윈도우용으로 다운 받았습니다.Microsoft Window x64! File1, File2 두개다 받으셔야 합니다. 그리고 압축을 푸시면되는데2번째 파일 풀고나서 1번째 파일과 합치는것 잊지마세요. 하지만 압축 풀자마자 같은 경로에 풀어질거에요. 설치파일을 실행시킵니다.저는 메일을 기입하지 않았던거 같네요. 설치옵션 선택! 저는 개인 pc에 설치 했기때문에 '데스크톱 클래스'로 선택하였습니다. 그리고 설치할 위치 설정!!!개인적으로 디렉토리를 구성하였습니다.기본적으로는 위의 화면과 다른 디렉토리 구조로 설치될 겁니다. 그리고 전역데이터베이스 이름, 관리 비밀번호를 설정합니다.여기서 설정한 비..

개발/DB 2017.05.16

char 와 varchar2의 차이, 그리고 number(5,2)의 의미

대학교 다닐때는 char와 varchar2의 차이를 정확히 알고 시험까지 본 기억이 있는데....한 4년 지난후에보니 차이점을 모르겠는 겁니다... 하하 ^^ 기억력이 참 나쁘네요.. 그래서 찾아보고 지금 정리해 보려고 합니다. char형은 딱 고정된 크기를 말합니다. 그리고varchar2 는 가변형 길이를 말합니다.생각해보면 char형을 쓰는 것보다 varchar형을 쓰는게 훨씬 이득이겠죠?최악일경우에는 동일한 결과를 나타낼수 있습니다.대부분 사람들의 저와 마찬가지로...아무 생각없이 varchar2를 사용할 거라 생각됩니다. 중요한 차이는 char(10)형과 varchar2(10)형에 동일한 문자 'Y'를 넣으면char형은 빈공간을 활용하여 10의 크기만큼 공간을 다쓰고varchar2형은 1만큼 크기..

개발/DB 2016.11.13

[oracle]오라클 select해서 insert 하기

프로젝트를 진행하면서 문제가 생겼습니다. 문제는! A라는 테이블의 데이터를 B라는 테이블에 inster 시켜할 경우가 생겼다. 간단히 말해서 select해서 다른테이블에 insert 하겠다는 의미 입니다. 처음에는 이런기능도있어??라고 생각했는데.... 간단하더군요...ㅋㅋㅋㅋ 바로 예제를 통해 알아보겠습니다. ㅋㅋㅋ 먼저 두 테이블의 컬럼이 모두 동일할때! insert into A select * from B 라고 하면 데이터가 전부 A로 들어가게 됩니다. 하지만 이런경우가 많이는 없을것 같고... 저 또한 컬럼명이 달랐습니다. 이번에는 두 테이블의 컬럼이 다를때! 입니다. 먼저 테이블 데이터를 살펴보겠습니다.SELECT*FROMTEST; 이번엔 학생테이블을 조회 해보겠습니다.SELECT*FROMSTU..

개발/DB 2016.06.01

[oracle]오라클 grouping, grouping_id 설명 및 예제

안녕하세요. 오라클의 group by를 공부하면서 grouping이 나와서... 포스팅하게 되었습니다. 아직 제가 유용하게 써본적은 없지만.... 굳이 말하자면 소계, 합계 구할때 정도??? 하지만 알아두면 좋은 개념이라고 생각되어 정리해 두려고 합니다. 먼저 기본적인 개념 입니다. Grouping(컬럼명) - GROUPING 함수는 그룹쿼리에서 사용하는 함수로 파라미터의 평가값이 NULL 이면 1, NULL 이 아닌 경우에는 0을 반환합니다. ※ GROUPING 함수에서 사용될 컬럼은 반드시 GROUP BY 절에서 명시 되어야 합니다. 즉, 해당 Row가 RollUp에 의서인지 Cube에 의해서 산출된 값인지 구별 할 수가 있습니다. ※ 간단히 말하면 rollup은 함계 를 구하는데 쓰고 음... cu..

개발/DB 2016.05.23

[oracle]오라클 group by, rollup

프로그래밍의 실력을 쌓는 법!은~기초를 탄탄하게 중요하다고 생각합니다. 평소 무심코 썼던 group by....왜 무심코 쓰게 되냐면 기존의 프로젝트에 새로운 컬럼을 추가하고자 하면group by 형식이 아니라는 오류 메시지가 뜨죠... 그럼 그냥 group by 절에 컬럼을 추가해서 에러를 제거하고 프로그램을 안전하게 돌립니다.... 그래서 그냥 막 쓰기보다는 제대로 정리하자 라는 취지에서 포스팅을 하려고 합니다. group by의 개념은...말그래도 그룹을 짓는다! 입니다. 그냥 예제로 살펴보는게 이해가 빠르실 겁니다. 먼저 전체 테이블 확인하겠습니다. 여기에 가장 기초적인 단순 컬럼 하나를 그룹 지어보겠습니다.position별로 그룹지어보겠습니다. selectpositionfromprofessorg..

개발/DB 2016.05.20

[oracle] 정규식 REGEXP_REPLACE 함수

이 함수는 replace 함수를 확장한 개념으로 주어진 문자역에서 특정 패턴을 찾아서 주어진 다른 모양으로 치환하는 함수이다. 문법 REGEXP_REPLACE (source_char, pattern [, replace_string [, position [, occurrence [, match_param[[[) 첫번째 인수 Source_char : 원본데이터, 컬럼명이나, 문자열이 올수 있다. 두번쨰 인수 pattern : 찾고자 하는 패턴을 의미 세번째 인수 replace_string : 변환하고자 하는 형태 네번째 인수 position : 검색 시작 위치를 지정, 아무런 값도 주지 않을 경우 기본값 : 1 다섯 번째 인수 occurrence : 패턴과 일치가 발생하는 횟수를 의미, 0은 모든 값을 대채..

개발/DB 2016.05.04

[oracle]오라클 ibatis iterate conjunction

오랜만에 DB 쿼리 관련포스팅을 해보겠습니다. 다음과 같은 상황이 있습니다. 사용자의 목록을 뿌려주고 있는데요 ~ 여기서 권한 별로 조건을 주어 검색하려고 합니다. 그러나 남, 여 하나하나씩은 usr_gen = #sh_usr_gen# 같은 형식으로 하면 되지만 '일반', '매니저' 두 조건은 어떻게 줘야 할까요????? 먼저 결과 화면을 확인해 보겠습니다. 저는 이와같은 결과를 얻기위해 열심히 검색했습니다. 제가 select 조건을 보시면 usr_auth_cd = #sh_usr_athList[]# sh_usr_athList는 배열변수 입니다. 이렇게 주었는데요 이제 의문이 iterate, open, close, conjunction의 의미를 파악하셔야 합니다. iterate - 해당객체가 종료될때까지 반..

개발/DB 2016.05.01