반응형

Oracle&DB 9

테이블 2개 조인해서 UPDATE 하기

Oracle에서 2개의 테이블을 조인해서 테이블의 컬럼을 일괄적으로 UPDATE 하고 싶을때 SET 절에서 SubQuery를 통해서 다른 테이블의 값을 조건을 통해서 반영할 수 있다. (예제) 단일 컬럼 UPDATE Table_1 A SET column_1 = (SELECT column_1 FROM Table_2 B WHERE A.KEY = B.KEY) ; (예제) 여러 컬럼 UPDATE Table_1 A SET column_1 = (SELECT column_a FROM Table_2 B WHERE A.KEY=B.KEY), column_2 = (SELECT column_b FROM Table_2 B WHERE A.KEY=B.KEY), column_3 = (SELECT column_c FROM Table_..

Oracle&DB 2021.05.21

사용자 계정현황 확인 및 비밀번호 만료일 설정(ORA-28001)

ORA-28001 오류 조치방법 - Oracle 사용자 계정목록 및 상태확인 select username, account_status, lock_date, expiry_date, created, profile from dba_users; - 사용자 비번변경(재설정) ALTER USER stdws IDENTIFIED BY stdws; - 패스워드 만료일(유효기간) 정책(설정값) 확인 SELECT * FROM DBA_PROFILES WHERE resource_type = 'PASSWORD'; - 계정 비밀번호 만료일 무제한으로 변경 ALTER PROFILE default LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED PASSWORD_LIFE_TIME UNLIMITED PASSWORD_G..

Oracle&DB 2020.11.21

Oracle 트랜잭션(Transaction) - 다건의 쿼리문, 대량데이터 처리

비지니스 로직이 적요된 프로그램에서 Oracle 데이터베이스로 여러건의 쿼리, 또는 대량의 데이터에 대해 삽입과 수정을 일괄로 처리해야하는 경우가 있다, 이때 데이터베이스 쿼리문을 처리중 중간에 에러가 발생하거나, 여러가지 변수로 문제가 발생할 수 있는데, 이때 롤백을 통해서 처리 이전으로 상태를 되돌려야 한다. 이런 경우 트랜잭션(Transaction)을 이용하여 손쉽게 관리코드를 구현 할 수 있다. Example OracleConnection con ; OracleCommand comm ; OracleTransaction oraTrans=null; //오라클 트랜젝션 con = new OracleConnection(); con.ConnectionString = " Data Source=DAUL;USE..

Oracle&DB 2020.10.09

물리적 독립된 다른 서버를 쿼리에서 같이 다루는 - Database Link

서로 다른 지역에 떨어져있는 Oracle Database 서버간 테이블을 복제하거나, 물리적으로 다른 개발 및 운영서버간의 테이블을 복제할때, 쿼리를 통해서 서로다른 데이터베이스 서버를 다루는 경우가 있다, 이떄 사용하는 ORACLE "DATABASE LINK" [사용법] 1. tnsnames.ora 에 서로다른 오라클 서버의 접속정보를 모두 기재하고, 2. 어느 하나의 서버(데이터 출발지 서버)에서 "DATABASE LINK"를 생성한다. 3. 원격지 서버 쿼리 테스트, 테이블 복제 실행 4. (옵션) 완료 후 "DATABASE LINK" 제거 [DATABASE LINK 생성문법] CREATE [PUBLIC] DATABASE LINK link_name CONNECT TO user_id IDDENTIFI..

Oracle&DB 2020.09.10

Oracle 'FLASHBACK' 테이블 데이터 복구

Oracle에서는 데이터를 복구하는 유틸리티인 'FLASHBACK'기능을 제공한다. -- 30분 이전의 해당 테이블의 데이터 조회 SELECT * FROM TEST_TABLE AS OF TIMESTAMP ( SYSTIMESTAMP - INTERVAL '30' MINUTE); -- 3시간 이전의 해당 테이블의 데이터 조회 SELECT * FROM TEST_TABLE AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '3' HOUR); -- 1일 이전의 해당 테이블의 데이터 조회 SELECT * FROM TEST_TABLE AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' DAY); -- 2분전의 데이터 복구 FLASHBACK TABLE TEST_TABL..

Oracle&DB 2019.05.13

[DB][Oracle] PL/SQL 개념정리

Oracle이 자체 DBMS를 위해 표준 SQL을 확장해서 개발한 쿼리용 프로그램 언어로 절차적인 언어(Procedural Language)이다. - PL/SQL : Procedural Language extention to SQL - PL/SQL 프로그램의 종류 > 1. Procedure, 2. Function, 3. Trigger - 장점 : 프로그래밍 언어처럼 "예외처리"가 가능하며, 디버깅 기능을 제공 - 기본 구조로 '블럭'단위로 실행된다. 블럭은 'BEGIN'로 시작해서 'END'로 끝남. - IF문, Loop문 사용가능 주석기능, 단이행은 "-- 내용", 긴 문장은 " /* ~ */ " 사용한다 PUT_LINE() 프로시저로 화면출력을 지원한다 ex) DBMS_OUTPUT.PUT_LINE('..

Oracle&DB 2019.03.18
반응형