본문 바로가기

반응형

프로그램/ORACLE

(21)
오라클 가로데이터 세로로 정렬하는 쿼리 * 오라클 가로데이터 세로로 정렬하는 쿼리 - 가로 한줄 데이터를 세로로 정렬하는 쿼리입니다. SELECT DECODE(ROWNUM ,1,A ,2,B ,3,C ,4,D ,5,E ,6,F) , ROWNUM RN FROM ( SELECT 10 A, 20 B, 30 C, 40 D, 50 E, 60 F FROM dual ) CONNECT BY LEVEL
오라클 결과값 가로 정렬 함수 오라클 결과값 가로 정렬 함수 LISTAGG , WITHIN GROUP 함수 LISTAGG , WITHIN GROUP 오라클 11G이상부터 지원합니다. SELECT LISTAGG(컬럼명, ', ') WITHIN GROUP(ORDER BY 컬럼명) FROM TABLE명 /* WITHIN GROUP(ORDER BY 컬럼명) : 여기서 사용하는 컬럼명이 기준이 되는 값 및 ORDER BY 적용되는 컬럼명 */ /* LISTAGG(컬럼명, ', ') : 결과로 보여주고 싶은 컬럼명 및 화면에서 구분자값 세팅 ', ' */ 실제데이터가 아래와 같이 있다면 A B C --> 화면에서 보여주는 결과는 가로로 보여줄 수 있음. A, B, C
INSERT SELECT 방법/ SELECT INSERT 방법 select 한 데이터를 테이블에 그대로 insert 하는 방법 예) insert into 테이블명1 select 컬럼명 , 컬럼명 From 테이블명1 ==> insert 할 데이터를 select로 조회해서 그대로 insert를 하는 방법인데 보통 같은 테이블의 샘플 데이터를 만들고자 할 때 쉽게 사용할 수 있는 방법입니다. 샘플데이터를 만들때는 어차피 같은 컬럼이므로 별상관이 없겠지만 특정 테이블에서 데이터를 조회한 후 insert 하는 방법으로 아래와 같은 방식으로 하면 됩니다. insert into 테이블명1 (컬럼명1 , 컬럼명2 ) values ( select 컬럼명1 , 컬럼명2 From 테이블명2 ) 아래와 같이 할 경우에는 컬럼 속성, 크기가 같아야 됩니다.
오라클 11g Database 생성 오라클 11g Database 생성 오라클 11g Database 생성을 위해서 윈도우 시작메뉴 Oracle - OraDb11g_home1 구성 및 이전 툴 Database Configuration Assistant 를 순서대로 선택하세요.. ^^ Database Configuration Assistant 시작화면입니다. 데이터베이스 생성을 선택합니다. 특별히 세팅할게 없으므로 다음을 눌러줍니다. 전역데이터베이스는 TestDB라고 지어줬습니다. 마땅히 생각나는 이름도 없고 참조하는 곳이랑 같게 진행했습니다. Enterprise Manager 구성을 풀어주고 로컬 관리를 위해 Database Control 구성을 선택하고 다음을로 넘어갑니다. 비밀번호를 본이만 알수 있는 비번으로 하시던지 간단하게 설정해줍..
오라클 11g 설치 오라클 11g 설치 오라클 11g는 설치파일은 2개가 있습니다. 그 2개를 하나의 database에 합친 후에 설치하시면 됩니다. 안합치면 중간중간 에러가 나옵니다. 그러니 꼭 합쳐서 시작하세요.. ^^ setup 파일을 누르면 검은 화면과 함께 컴퓨터를 확인합니다. 시간은 좀 걸리는 편이므로 기다리시면 화면이 나옵니다. 보안관련 정보를 메일로 보내준다는 내용입니다. 체크를 푸시고 다음을 누릅니다. 두 번째 데이터베이스 소프트웨어만 설치를 선택 후에 다음을 누릅니다. 단일 인스터스턴스 데이터베이스 설치를 선택하고 다음을 누릅니다. 언어는 당연히 한글과 영어를 선택 ^^ Enterprise Edition을 선택하고 다음을 선택합니다. 기본 설정되는 위치에서 경로를 살짝 바꿔줍니다. (전 다른곳에서 본 것 ..
오라클 문자,기호,0 채우는 방법,LPAD,RPAD사용법 오라클 문자,기호,0 채우는 방법,LPAD,RPAD사용법 숫자형태로 값의 크기를 늘리고 '0' 등을 채우는 방법 SELECT LPAD(TO_CHAR(NVL(MAX(컬럼명), 0) + 1),5 ,'0' ) /* 컬럼의 큰값을 구한 후 to_char로 형변환 후 +1로 값을 증가 5자리 만큼 0을 채움 */ FROM 테이블 명 LPAD(컬럼, 채우는 크기, 기호) -- 왼쪽을 기준으로 채우는 방법 RPAD(컬럼, 채우는 크기, 기호) -- 오른쪽을 기준으로 채우는 방법
커밋 후 복원하는 방법 FLASHBACK 오라클에서 커밋(COMMIT)한 후에 데이터를 복원하는 방법으로 FLASHBACK이란 방법이 있습니다. insert,update,delete를 하고 나서 커밋을 하면 롤백을 통해서는 데이터가 복원이 안됩니다. 하지만 FLASHBACK이란 방법을 쓰면 특정 시점의 데이터로 복원이 가능합니다. * 특정시점의 테이블에 있는 데이터를 조회하는 쿼리 select * from 테이블명 as of timestamp ('원하는 날짜 시간','YYYY-MM-DD HH24:MI:SS' ) where 테이블컬럼 = '' ; * 특정시점의 테이블에 있는 데이터를 복원하는 쿼리 FLASHBACK TABLE 테이블명 to timestamp ('원하는 날짜 시간','YYYY-MM-DD HH24:MI:SS' ) where 테이블컬럼..
오라클 = 검색 결과가 안나오는 경우 *오라클 equal 조회시 프로그램에서는 = 검색시 결과가 안나오고 toad 같은 sql 툴에서는 결과가 나오는 경우에는 컬럼 형식이 char인지 확인해봐야한다. char는 varchar2와 달라서 컬럼크기가 13이고 데이터 크기가 10이면 나머지 3자리에 공백을 채운다. 그래서 쿼리문에 컬럼에 trim을 쓰던지 rpad를 사용해서 공백을 없어던지 조회할 값에 공백을 채워서 조회를 하면된다. 그런데 종종 where 절 컬럼에 trim을 쓰면 쿼리가 늦어지는 경우가 있습니다. 사용할 쿼리를 미리 테스트한 후에 빠른쪽으로 맞춰서 사용하세요. 예) where trim(컬럼명) = 'test' 이럴땐 rpad를 쓰면 된다. rpad('비교할값이나 컬럼명',컬럼자리수, 대처할값) 예) where 컬럼명 = rpa..

반응형