반응형

ORA-30926: 원본 테이블의 고정 행 집합을 가져올 수 없습니다.

Merge문을 사용하여 UPDATE를 하는 로직이 있다. Merge문은 A테이블, B테이블 조인하여 데이터가 존재하는 경우 A테이블의 값을 UPDATE 한다. (또는 Insert도 할 수 있다.) A테이블 컬럼을 Update 시 B테이블의 컬럼 값을 입력할 수도 있는데 하나의 A테이블 컬럼의 두개의 B테이블의 컬럼이 나와 Update를 시도를 하니 위와 같은 에러가 발생한다.


반응형
반응형

SQL은 DBMS에서 사용 하는 표준언어이다. C언어나 파이썬 언어와 같은 프로그래밍 언어는 절차적 언어이지만 SQL은 데이터를 다루는 집합적 언어이다. SQL를 익히면 DBMS마다 약간의 기능 제공차이가 있지만 DBMS 상관 없이 db를 사용할 수 있다. SQL은 크게 DDL, DML, DCL로 나눠진다. 각각의 차이점을 알아보자.


DDL

DDL의 약자를 살펴보자. Data Definition Language 이다. DDL은 데이터 정의 언어이다. DDL은 데이터 정의를 하게 되는데 데이터 정의라 함은 데이터베이스 객체들을 정의 하는 것이다. 데이터베이스 객체는 테이블, 뷰, 인덱스, 시노님, 시퀀스, 파티션 테이블을 포함한다.

데이터를 정의하기 위해서 객체들을 생성, 삭제, 변경을 할 수 있다.

  • CREATE : 데이터베이스 객체를 생성한다.
  • DROP : 데이터베이스 객체를 영구 삭제한다. (테이블을 통째로 삭제, 공간 삭제)
  • ALTER : 데이터베이스 객체를 수정한다.
  • TRUNCATE : 테이블의 데이터를 통째로 삭제한다. (테이블 내의 전체 데이터 삭제, 공간 삭제)


DML

DML의 약자를 살펴보자. Data Manipulation Language 이다. DML은 데이터 조작 언어이다. 데이터베이스 내의 데이터를 조작(데이터 추출, 생성, 수정, 삭제) 할 수 있다.

  • SELECT : 데이터를 추출(조회)
  • INSERT : 데이터를 생성
  • UPDATE : 데이터를 수정
  • DELETE : 데이터를 삭제 (테이블 내의 테이터 삭제, 공간 유지) 
  • COMMIT : 트잰잭션 처리
  • ROLLBACK : 트랜잭션 복구


DCL

DCL의 약자를 살펴보자. Data Control Lanaguage 이다. 사용자에게 권한을 주거나 회수한다.

  • GRANT : 권한 부여
  • REVOKE : 권한 회수


개발자들이 제일 많이 사용하는 것은 DML이다. 개발 담당자는 DDL을 많이 사용하지 않는다. 흔히 회사에서는 개발팀과 운영팀으로 나뉘어지는데 개발자들은 DML을 많이 사용하게 되고 DBMS를 운영하는 운영팀에서는 DDL을 많이 사용한다.

반응형
반응형
1. 데이터 베이스를 확인
show dbs
2. 데이터베이스를 선택
use database_name
3. 컬랙션을 확인
show collections
4. 컬랙션의 데이터를 확인
db.collection_name.find()


반응형

'DB > MongoDB' 카테고리의 다른 글

[db] mongoDB 에러, Failed to connect to 127.0.0.1:27017  (0) 2019.06.13
[DB] MongoDB 설치  (0) 2019.02.22
반응형



1. MongoDB 레파지토리 추가하기(GPG key 등록하기)

MongoDB 는 이미 우분투에 패키지에 추가 되어 있다. 하지만 공식적인 MongoDB레파지토리를 추가함으로써 최신의 MongoDB를 설치 할 수 있다.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927


2. MongoDB 레파지토리 상세 등록하기

apt를 사용하여 다운로드를 할 수 있도록 list file을 등록합니다.

echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

3. 설치하기
sudo apt-get update
sudo apt-get install -y mongodb-org


4-1. MongoDB 실행하기 및 상태 확인

sudo systemctl start mongod

sudo systemctl status mongod

4-2. MongoDB 부팅시에도 실행하기
sudo systemctl enable mongod

4-3. MongoDB 종료하기
sudo systemctl stop mongod

4-4. MongoDB 부팅시에도 실행하지 않고 종료하기
sudo systemctl disable mongod

5. 접속하기
mongo


반응형

'DB > MongoDB' 카테고리의 다른 글

[db] mongoDB 에러, Failed to connect to 127.0.0.1:27017  (0) 2019.06.13
[DB] MongoDB collection data 값 확인  (0) 2019.02.23
반응형

오라클 테이블 기본키 및 기본키 컬럼을 확인합니다.


SELECT A.Constraint_Type, A.Table_Name, B.Column_Name
FROM SYS.User_Constraints A, SYS.User_Cons_columns B
WHERE A.Constraint_Name = B.Constraint_Name
and A.Table_Name = '[테이블명]'
반응형

+ Recent posts