DB Oracle

·DB Oracle
기존에 서버에 있던 데이터를 옮기기 위해 도구 > 데이터베이스 복사 를 이용해 테이블을 복사하려고 했지만해당 오류가 떠서 테이블복사가 안되는 것을 확인하였다.ORA-00959: tablespace 'TS_202403F' does not exist00959. 00000 - "tablespace '%s' does not exist"*Cause: *Action: 해당 오류는 단순이 풀어 낼 수 있는데CREATE TABLESPACE "TS_202403F"DATAFILE 'C://oracle/TS_202403F.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M;없는 TABLESPACE이름을 똑같이 생성하여 자신의 경로에 해당 dbf파일을 생성하면 데이터가 간단히 옮기는걸 확인할 수 있다 ..
·DB Oracle
MERGE INTO STOCK S -- STOCK테이블을 업데이트할 대상으로 설정USING (SELECT GDS_CODE, BZENT_NO, QTY -- USING절을 통해 STOCK테이블과 연결할 데이터 소스 정의 FROM STOCK_PO WHERE PO_NO = #{poNo}) SPON (S.GDS_CODE = SP.GDS_CODE AND S.BZENT_NO = -- 조인 조건 (SELECT BZENT_NO FROM PO WHERE PO_NO = #{poNo}))WHEN MATCHED THEN -- 조인 조건이 일치하는 경우에 수행 UPDATE SET S.QTY = S.QTY + SP.QTYWHEN NOT MATCHED THEN -- 조인 조건이 일치하는 않는 경우에 수..
·DB Oracle
기본키 아이디자유 텍스트로 입력abcd12, asdfjal코드체계적인 코드dept001, dept002, a001번호숫자로 넣음1, 2, 201번호라고하여 숫자만 넣지 않음doc20240831001코드와 유사일련 번호숫자 값이 순차적으로 들어오는 값1, 2, 3문자와 조합도 가능SN202400001 -> SN202400002순번일련번호와 유사, 순번이 있지만 보통 문자열이 들어가지 않음단독으로 사용하지 않고 복합키로 사용할 때 들어감일련번호, 순번날짜일자2024-09-07VARCHAR2(8)일시2024-09-07 10:14:10DATE시각09:30시간09:00 ~ 10:30기간2024-09-07 ~ 2024-09-10기한2024-09-07까지입사일자 조건 검색하는 방법입사일자가 DATE인경우SELECT ..
·DB Oracle
문제2020년도 상품별 매입금액과 매출 금액을 구하기ANSI, Oracle방식, 서브쿼리CART_NO가 인덱스이기 때문에SUBSTR보다 LIKE가 더 빠르다ANSISELECT B.PROD_ID, SUM(B.PROD_SALE*A.CART_QTY), SUM(B.PROD_COST*C.BUY_QTY)FROM PROD BLEFT OUTER JOIN CART A ON A.CART_PROD = B.PROD_ID AND A.CART_NO LIKE '2020%'LEFT OUTER JOIN BUYPROD C ON B.PROD_ID=C.BUY_PROD AND EXTRACT(YEAR FROM BUY_DATE)='2020'GROUP BY B.PROD_ID;순서 : ON조건에 해당하는 데이터를 필터링(2020년인 CART..
·DB Oracle
개념적 설계 논리적 설계 물리적 설계 엔터티( Entity ) 릴레이션 테이블 결과물 : 개념적 스키마(E-R다이어그램) ( DBMS에 독립적인 개념적 구조 설계) 결과물 : 논리적 스키마(릴레이션 스키마) DBMS에 적합한 논리적 구조 설계 결과물 : 물리적 스키마 ( DBMS로 구현 가능한 물리적 구조) 속성 관계 판별 > 동사찾기 다 대 다 (개념 모델에선 허용되나 논리부턴 허용되어지지않음) 다(부모) 대 1 1:1 관계 ex. 주문서 속성 정규화 (정규화를 하지 않으면 데이터 중복으로 이상현상발생) 컬럼(필드) 요구사항 분석 업무에 필요한 데이터가 무엇인지 그 데이터에 어떤 처리가 필요한지 고려 명사를 가려내서 고유명사인 경우(이름, 지명, 회사명)은 버리기 범위가 너무 큰 명사는 버림 대표 명사..
·DB Oracle
WITH 테이블 이름 AS (SELECT 문) [SELECT 문] 호출 (SELECT 테이블이름.컬럼 FROM 테이블이름) WITH T AS-- 테이블 생성 (SELECT HOLD_NO, MAX(SEQ) FROM JAVA_BOOK_RENT WHERE RETURNYN = 'N' GROUP BY HOLD_NO) SELECT * FROM JAVA_BOOK_HOLD WHERE HOLD_NO NOT IN (SELECT T.HOLD_NO FROM T)
아잠만_
'DB Oracle' 카테고리의 글 목록