분류 전체보기

    [Orcale] 오라클 INSERT 문에 대한 모.든.것. aka DML

    오라클 INSERT 문이란, INSERT 문은 오라클 DML(Data Manipulation Language)에 속하는 문으로 테이블에 새로운 데이터를 추가(저장)하기 위해 사용되는 문이다. 크게 INSERT 문에는, - 단일행을 추가하는 '단일행 INSERT 문' - 복수행을 추가하는 '복수행 INSERT 문' - 다중 테이블에 다중 데이터를 무조건 넣는 '무조건 INSERT ALL 문' - 다중 테이블에 조건에 맞는 데이터만 넣는 '조건 INSERT ALL 문' - '조건 INSERT FIRST문' 있다. 아래 쿼리의 예시는 오라클에서 제공하는 SCOTT 계정에 있는 데이터를 사용했다. SCOTT을 사용하는 방법은 링크에 정리 되어있다. (loghada.tistory.com/20) INSERT 문의 ..

    [Oracle] 오라클 12c 설치 완벽 가.이.드. (feat HR/SCOTT 계정 생성까지)

    내가 SQL 공부하면서 가장 힘들었던것 오라클 공부를 하면서 가장 힘들었던건 오라클 설치/삭제이다. 오라클을 처음 접하는 대부분의 사람들이 오라클에서 제공하는 HR/SCOTT 계정에 있는 예제 데이터로 공부를 한다. 보통 DQL은 HR 계정의 데이터로 DML/DDL은 SCOTT 계정의 데이터를 사용한다. 하지만, 막상 공부를 위해 오라클 설치하여 HR/SCOTT 계정 생성하려고 하면 수많은 에러가 난다. 실제로 오라클 설치/삭제는 현업자들도 힘들어 하는 과정이고, 오라클을 사용하는 회사의 경우 오라클사의 엔지니어를 불러 해결하는 경우가 대부분이다. 그만큼 어.렵.다. 일단, 나는 오라클 설치/삭제를 최소 10번은 했던것 같다. Mac/Linux에서했었고 Window에서도 해보면서 꽤 많은 시행착오를 겪었..

    [Oracle] 오라클 WINDOW FUNCTION/윈도우 함수 란?

    Window 함수는? - 기존 RDBMS(관계형 데이터베이스)는 컬럼과 컬럼간의 연산, 비교, 연결이나 집압에 대한 집게는 쉬운 반면, 행과 행간의 관계를 정의하거나 비교, 연산한는 것은 하나의 쿼리문으로 처리하기 굉장히 어려웠다. 하지만, 윈도우 함수를 이용한다면 행과 행간의 관계를 쉽게 정의할 수 있다. - 윈도우 함수(Window Function)은 분석 함수(Analytic Function)이나 순위 함수(Rank Function)으로도 알려져 있다. 또한, 문법상 OVER() 문구가 키워드로 꼭 들어가야 되기 때문에 OVER 함수로 할고 있는 사람도 있다. 즉, 윈도우 함수 = 분석 함수 = 순위 함수 = 오버절 모두 같은 뜻이지만 사용하는 단어만 다를 뿐이다. - 다른 함수들처럼 중첩해서 사용..

    [Oracle] Inline View 인라인뷰란

    인라인뷰 소개 서브쿼리가 FROM 절에서 안에서 사용되는 경우, 해당 서브쿼리를 '인라인뷰'라고 한다. FROM 절에서 사용된 서브쿼리의 결과가 하나의 테이블에 대한 뷰(View)처럼 사용된다. SELECT * FROM (SELECT * FROM table ORDER BY id DESC) WHERE ROWNUM

    [Oracle] ORA-28001 오라클 패스워드 만료 :: 오라클 에러

    오라클 ERROR CODE ORA-28001: the password has expired ORA-28001: 비밀번호가 만기되었습니다 ORA-28000 에러란, 오라클은 오라클 11부터 계정에 대해 패스워드 유효기간을 180일로 정해두었습니다. 이 기간이 지나기 까지 패스워드 변경이 없으면 해당 계정에 로그인되지 않습니다. 에러 해결 방법 에러 해결 방법은 크게 두가지입니다. 1. 임시 방편으로 계정 비밀번호를 변경하는 방법 (SYS 계정으로 접속 후 명령해야합니다.) ALTER USER user_id IDENTIFIED BY new_password; 2. 해당 패스워드에 대한 유효기간을 umlimited로 설정하는 영구적인 방법 (SYS 계정으로 접속 후 명령해야합니다.) ALTER profile d..

    [Oracle] 오라클 사용자 정보 확인 :: DBA_USERS

    현재 생성된 사용자 계정 확인 모든 사용자 계정의 정보를 확인 하기 위한 코드 SELECT * FROM dba_users; DBA_USERS 테이블서 확인할 수 있는 컬럼(사용자 정보) -- 테이블의 컬럼명을 확인하는 쿼리 SELECT column_name FROM all_tab_columns WHERE table_name = 'DBA_USERS'; USERNAME USER_ID PASSWORD ACCOUNT_STATUS LOCK_DATE EXPIRY_DATE DEFAULT_TABLESPACE TEMPORARY_TABLESPACE LOCAL_TEMP_TABLESPACE CREATED PROFILE INITIAL_RSRC_CONSUMER_GROUP EXTERNAL_NAME PASSWORD_VERSIONS ..

    [Oracle] ORA-28000 계정 장금(Lock) 오류 해제 :: 오라클 에러

    오라클 에러 코드 ORA-28000: the account is locked ORA-28000: 계정이 잠금되었습니다 ORA-28000 에러란, 에러 내용 그대로 계정이 잠겨 로그인이 불가능한데, 로그인 시도시 나오는 에러 코드입니다. 에러 해결 방법 간단히 ALTER USER 명령을 통해 유저의 Lock을 해제할 수 있습니다. (단, SYS 계정으로 접속 후 명령해야합니다.) ALTER USER user_name ACCOUNT UNLOCK; 에러 발생 이유 1. 관리자가 직접 계정에 Lock을 걸었다. 2. 패스워드 유효기간이 만료되었다. 3. FAILIED_LOGIN_ATTEMPTS 파라미터에 설정된 로그인 시도 횟수를 넘겨 계정이 자동으로 잠기는 경우. Lock 상태 확인하는 방법 SELECT us..

    [Oracle] 오라클 SQL SELECT 쿼리 실행 순서/처리 과정

    SELECT 실행 순서 -- 문법 순서 1. SELECT 2. FROM 3. WHERE 4. GROUP BY 5. HAVING 6. ORDER BY -- 실행 순서 1. FROM 2. ON 3. JOIN 4. WHERE 5. GROUP BY 6. HAVING 7. SELECT 8. DISTINCT 9. ORDER BY 10. TOP 실행 순서 추상화 해당 데이터가 있는 곳을 찾아가서 (FROM) 조건에 맞는 데이터로 필터링하고 (WHERE) 원하는 데이터로 가공 (GROUP BY) 가공한 데이터에서 조건에 맞는 것만 (HAVING) 뽑아내서 (SELECT) 정렬한다 (ORDER BY) 실행순서는 문법, 권한 검사 순서이기도 하고, Alias(별칭) 등록 순서이기도 하다. 별칭(Alias) 설정 규칙 FR..

    [Oracle] 오라클에서 쿼리문 수행(실행) 시간이 알고 싶다면 'SET TIMING ON'

    오라클에서 쿼리문 수행 시간을 확인할 수 있을까? 쿼리문 수행시간 체크를 수시로 하는 습관은 중요하다. 특히, 장문의 쿼리 문을 작성하거나 쿼리문(인덱스 설정 등등..)의 효율을 비교할때 수행 시간을 알아야만 비교가 가능하다. 그렇다면, 오라클에서 쿼리나 저장 프로시저, 커서 등의 실행시간을 알고 싶다면 어떻게 해야 할까? 이러한, 수행(실행)시간 확인은 굉장히 쉽게 할 수 있는데 'SET TIMING ON' 문이면 가능하다. 위에처럼 쿼리문 작성 시 'SET TIMING ON'을 위에 작성후 스크립트 출력을 하게 되면, 아래에 수행(실행)시간이 얼마나 걸리는지 확인 할 수 있다.

    [Oracle] SQL developer 유용한 환경설정/단축키

    라인번호 표시 가장 기본적이면서 확인이 필요한 '라인번호'. 대부분 오류 코드가 '00열 00행' 이런식으로 표현되기 때문에 라인번호를 모르면 어느 부분인지 매번 세야하는 번거로움이 있다. 도구 -> 환경설정 -> 코드 편집기 -> 행 여백 -> 행 번호 표시: 체크 결과는 아래처럼 보이게 된다. 키워드 대문자로 표시하기 키워드/식별자를 자동으로 대소문자로 만들어준다.(개인적으로 오히려 번거롭다고 생각함) 도구 -> 환경설정 -> 코드 편집기 -> 완성 인사이트 -> 입력할 때 대소문자 변경: 체크 배경색을 사용하여 널(null)값 표시하기 널(null)값에 하이라이트를 주는 설정 도구 -> 환경설정 -> 데이터베이스 -> 고급 -> 배경색을 사용하여 널 표시: 색 지정 SQL 결과 갯수 제한하기 SQL..