오라클(14)
-
(오라클) DECODE, CASE-SQL문에서의 IF절
조건문 "-하는 걸 보고싶다면" DECODE 함수의 기준이 되는 데이터를 지정한 후, 해당 데이터 값에 따른 결과 값을 내보내는 함수 SELECT검색할 열들 DECODE (조건 대상이 될 열 조건 1, 데이터가 조건 1과 일치할 때 반환할 결과 조건 2, 데이터가 조건 2과 일치할 때 반환할 결과 조건 3, 데이터가 조건 3과 일치할 때 반환할 결과 조건 n, 데이터가 조건 n과 일치할 때 반환할 결과)AS 별칭 FROM출처 테이블 CASE 함수의 기준이 되는 데이터를 지정한 후, 해당 데이터 값에 따른 결과 값을 내보내는 함수 각 조건에 사용하는 데이터가 서로 달라도 OK! SELECT검색할 열들 CASE (조건 대상이 될 열 WHEN 조건 1 THEN 데이터가 조건 1과 일치할 때 반환할 결과 WHE..
2021.12.24 -
(오라클) 트랜잭션, TLC, LOCK, 읽기 일관성
트랜잭션을 처음 접하니까 바로 드는 생각, 그럼 이때까지 열심히 insert로 열 데이터를 만들어서 select 어쩌구 저쩌구 본 데이터들은 어디있지??? 결론적으론 commit을 하지 않아 다른 세션에서 봤을 때 보이지 않는단다. 반영이 안된다는 소리. insert와 마찬가지로 delete도 commit해주지 않으면 반영이 안된다. 간혹 프로그램에 따라서 오토로 해주는 경우도 있다고 한다. 트랜잭션 관계형 데이터 베이스에서 하나의 작업 또는 밀접하게 연관되어 있는 작업 수행을 위해 나눌 수 없는 최소 수행 단위를 트랜잭션이라고 한다. SQL문법 중에서 트랜잭션을 제어하는데 사용하는 명령어는 TLC라고 한다. 트랜잭션을 제어하는 명령어 오라클 데이터베이스에서의 세션은 데이터 베이스 접속 시작부터 접속 종..
2021.12.23 -
(오라클) 맥MAC 오라클 SQL DEVELOPER 시스템 계정 재설정/오류 코드 : ora -28000
오늘도 쉽지 않은 맥으로 하는 오라클 SQL Developer... 험난하다. SCOTT 계정이 아닌 SYSTEM 계정으로 사용자 생성하고 권한 부여하기를 공부하려니... 세상에 시스템 계정이 잠겨있단다. ORA-28000 : the account is locked 참나, 맥난하다 맥난해... 1. Terminal(터미널) 실행 2. %docker exec -it 콘테이너명 bin/bash 3. sqlplus 4. SYSTEM으로 들어가려니 account가 lock되어 있다고 함. 5. user name: sys as sysdba / password: oracle 입력하면 sql로 입장! 6. select username, account_status, lock_date from dba_users 실행하면..
2021.12.23 -
(오라클) sql developer 에러 ora-00604, ora-01756
status : failure -test failed: ora-00604: error occurred at recursive sql level 1 ora-01756: quoted string not properly terminated sql developer는 맥이랑 참 안맞는 것 같다. 별 에러가 다 뜬다. ✅ Solved * oracle sqldeveloper 연결 시 에러? ( at. Mac ) status : failure -test failed: ora-00604: error occurred at recursive sql level 1 ora-01756: quoted string not properly terminated 또는 status: Locale not recognized 등등.. Mac..
2021.12.22 -
(오라클) 제약 조건
제약 조건 테이블의 특정 열에 지정-> 제약 조건에 부합하지 않으면 데이터를 저장항ㄹ 수 없다. 수정, 삭제도 영향을 받는다. ex)회원 가입 시 , 아이디, 이름 등은 중복이 안되고 생년월일 등은 빈값(null)로 처리할 수 있음 NOT NULL 지정한 열에 빈값(null)을 허용하지 않음. 빈값(null)을 제외한 제이터의 중복은 허용함 UNIQUE 지정한 열이 유일한 값을 가져야 함. 중복될 수 없음 단, 빈값(null)값은 중복에서 제외됨 PRIMARY 지정한 열이 유일한 값이면서 빈값(null)을 허용하지 않음 테이블에 하나만 지정 가능 FOREIGN KEY 다른 테이블의 열을 참조하며 존재하는 값만 입력할 수 있음 CHECK 설정한 조건식을 만족하는 데이터만 입력 가능 *테이블 생성하기 NOT..
2021.12.22 -
조인(Join): 여러 테이블을 하나의 테이블처럼/ 등가 조인/ 비등가 조인
조인 두 개 이상의 테이블을 연결하여 하나의 테이블처럼 출력할 때 사용하는 방식 중요한 건 두 개 이상의 테이블을 하나로 연결한 것! 조인 조건을 사용하지 않으면 데카르트 곱(Cartesian product)가 발행하여 반복되는 내용, 정확하지 않은 데이터가 출력됨. 두 테이블을 연결할 때는 WHERE 절에 공통되는 데이터 열을 별칭과 함께 명시해야 함! FROMEMP E, DEPT D WHEREE.DEPTNO=D.DEPTNO (FROM에 별칭과 테이블 명/ WHERE에 공통되는 열 DETPNO를 각각 별칭과 함께 명시) 조인 종류 등가 조인 = 내부 조인=단순 조인 1. 테이블을 연결한 후에 출력 행을 각 테이블의 특정 열에 일치한 데이터를 기준으로 선정하는 방법 2. WHERE절에 조건식을 추가로 지..
2021.12.11