[Oracle] DDL, DML
·
데이터베이스/SQL
이전 포스팅에선 Oracle의 기본적인 지식과 사용법을 알았다면이번에는 데이터베이스 조작에 사용되는 명령어를 공부해보려 한다. 다른 RDBMS를 사용하고 있던 개발자들은 Oracle의 문법을이번 기회를 통해 비교하고 이해할 수 있길 바란다. DDL (Data Definition Language)DDL은 데이터베이스 객체를 조작하는 데 사용되는 SQL 명령어를 가리킨다.데이터베이스 객체라 하면 테이블, 뷰, 인덱스, 시퀀스 등이 이에 속한다. CREATECREATE문은 객체를 생성하는 명령어다.테이블, 뷰, 인덱스 별로 생성하는 방법이 각기 다르니 이 점에 유의해야 한다. OR REPLACE는 해당 이름을 가진 객체가 존재 시, 현재 작성한 것으로 대체하겠다는 명령어다.생략이 가능하므로, 덮어쓸 때에 선택..
[Oracle] Oracle Database 시작하기 (DBeaver, 계정 생성)
·
데이터베이스/SQL
세계 최고의 점유율을 차지하고 있는 데이터베이스, Oracle.주로 쓰이는 RDBMS인 MySQL, MSSQL과 같으면서도 달라 배우기 주저할 수도 있을 것이다. 오늘은 Oracle이 무엇인지, 그리고 어떻게 시작해야 하는지에 대해 작성해보려 한다. 1. 오라클이란 무엇일까사실 Oracle Database만을 Oracle로 지칭하지 않는다.Oracle은 Oracle RDBMS를 개발한 세계적인 소프트웨어 회사이다.Java를 다루는 개발자들이라면 당사에서 개발한 Oracle JDK 또한 심심찮게 들어보았을 것이다. 하지만 본 포스팅에서는 Oracle DB를 설명하고 있는 글이므로,Oracle을 기업명이 아닌 RDBMS 이름으로 칭하겠다. Oracle은 1977년 Oracle사에서 개발한 세계 최고의 점유율..
DB UPSERT 쿼리문 만들기 (존재하면 UPDATE, 있으면 INSERT)
·
데이터베이스/SQL
그동안 MySQL만 써오다가 Oracle을 쓰게 되어,쿼리문을 작성하는 법에 대한 차이 중 UPSERT 쿼리문을 만드는 방법에 대해 기록하고자 한다.🍁MYSQL : ON DUPLICATE KEY UPDATEMySQL (+ MariaDB)에서는 INSERT문 뒤에ON DUPLICATE KEY UPDATE를 붙여줌으로서 중복 대상에 대한 업데이트를 진행한다.INSERT INTO `STUDENT`(`code`, `name`, `age`)VALUES(1891245, '홍길동', 20)ON DUPLICATE KEY UPDATE `name` = '홍길동', `age` = 20--삽입 값에 별칭을 사용하여 불필요한 중복 입력을 줄일 수도 있다.INSERT INTO `STUDENT`(`code`, `name`, `a..
Procedure; 프로시저
·
데이터베이스/SQL
프로시저란?SQL문 및 변수, 조건문, 반복문 등으로 구성된 미리 작성하는 일련의 데이터베이스 객체이다.특정 작업을 수행할 때, 혹은 복잡한 비즈니스 로직을 처리할 때 쓰인다.프로시저의 특징여러 동작을 하나로 만들어두는 것이기 때문에 연동된 서비스에서 DB를 여러번 호출할 필요가 없다.예시로, 회원가입 시 User Table과 UserSec Table에 두 번 Insert를 해야한다고 할 때,이 로직을 Procedure로 만들어두면 한 번의 호출만으로 해당 작업을 모두 완료할 수 있다.자주 필요로 하는 쿼리문을 여러 명이 지속적으로 재사용할 수 있고, 해당 쿼리문을 성능이 높아지도록 발전시킬 수도 있다.여러 동작을 하나로 합치는 것이다보니 다양한 요소를 다루고 여러 Table 및 로직이 섞이며 복잡해질 ..
[Oracle] ORA-28000 Oracle 계정이 잠겼을 때 해제하는 법
·
데이터베이스/SQL
왜인지 비밀번호도 틀리지 않았고, 로컬 계정임에도 자꾸 Oracle 계정이 잠긴다.지속적으로 이런 일이 일어날 것 같아서, 계정이 잠겼을 때 해제하는 법을 기록하여 복기하고자 한다.1. SYSTEM 계정 접속sqlplus "/as sysdba" CMD에 위 명령어를 입력하여 SYSTEM 계정으로 Oracle에 접속한다.디렉터리 위치는 상관없는 듯하다. 명령어를 입력하면 위 사진처럼 Oracle 접속이 가능하다.2. 계정 상태 조회SELECT USERNAME, ACCOUNT_STATUS, LOCK_DATE FROM DBA_USERS; 해당 명령어를 통해 내가 확인하고 싶은 계정의 상태를 확인할 수 있다.특정 계정만 확인하고 싶다면, WHERE절을 추가해 주면 된다.3. 계정 잠금 해제ALTER USER {..
유영웅