728x90
728x90

ORA-02296 :: 제약(%s)을 사용할 수 없음. 부합하는 값이 없습니다

 

라는 오류가 발생...!!!

 

바로 ORA02296을 검색하였으나 대부분 NULL 오류 등과 관련된 얘기라서 나랑 다른 이야기인 줄 알았다!!

그러나... 값이 NULL이라서 생긴 오류였음을...

 

우선 이런 오류가 나타나게 된 원인

이미 기존에 생성되어있던 테이블에 컬럼을 추가 하였고

이 컬럼에 NOT NULL로 지정해주려 하였는데 저런 오류가 발생하였다

 

이번에 생성된 컬럼이니 기존에 존재하던 테이블 내역에는 

새로 추가한 컬럼의 값이 NULL일테니 이런 오류가 발생한 것이다

 

UPDATE로 ' '나 그냥 DEFAULT 값을 넣어줘서 테이블 내역에 새로 추가한 컬럼이 NULL인 부분에 넣어주고

그 후에는 NOT NULL 지정해주면 사용 가능하다

728x90
728x90

 

728x90

- UPDATE

 

1
결과값

UPDATE :: 어떤 테이블을

     SET  :: 어떤 내용으로

 WHERE :: 어떤 부분만

 

이렇게 이해해주면 된다

 

[그림1]을 예시로 설명하자면 MAKETABLE의 USER_ID가 'AAA'인 것만 USER_ID를 'UPDATE_USER'로 변경하겠다

2

여러개를 한번에 수정하고 싶은 경우에는 그림[2]와 같이 사용해주면 된다

() 등호안에 순서대로 넣어주고 = ()등호의 SELECT 문을 맞춰주면 된다

여기서보면 TABLE 옆에 A B 라고 해준게 보일 것이다

TABLE 옆에 AS가 생략된 명칭인데

매번 MAKETABLE.USER_ID = MAKETABLE.USER_ID라고 하기 힘들고 동일한 테이블을 사용할때는 헷갈리며 돌아가지도 않기 때문에 AS를 이용하여 명시하여 사용해준다

 

3

여러개의 컬럼을 수정할 때는 [그림3]과 같이 사용해주면 된다

728x90
728x90

 

728x90

- SELECT 

1
결과값

기본적으로 SELECT 하는 부분이다

SELECT 에는 컬럼명 혹은 * (전체)를 써주거나 후에 더 알 수 있겠지만 서브쿼리, 함수 등 다양하게 사용이 가능하다

FROM 에는 테이블을 쓰면 된다

 

SELECT :: 내가 보고싶은 컬럼들

FROM  :: 보고싶은 컬럼들을 꺼내올 곳 

 

이라고 이해해주면 된다

 

2

WHERE 이라는 조건절을 사용할 수 있는데 그림[2]에서 보는 것과 같이

USER_ID가 AAA인 것만 가져오기,

USER_SAL 값이 3000이상인 경우만 가져오기

를 예시로 보여주었고 이를 응용해서 사용해주면 된다! 

 

만약 테이블 없이 어떻게 SELECT가 되는지 궁금할 때,

SELECT (사용하고 싶은 내용) FROM DUAL 을 사용하면 된다

DUAL은 가상 테이블로 ORACLE에서 지원해주는 테이블이다

 

사용방법은 예시로

결과값

위와 같이 사용하면 된다

AS는 명칭을 내가 지정해주고 싶을때 사용하면 된다

예를들어 월급 + 보너스 = 총급여라고 친다면 월급+보너스라고 컬럼에 보일 수는 없으니 

SELECT 월급+보넛 AS 총급여 라고 써주는 것이다

 

 

 

728x90
728x90
728x90

- 테이블 수정, 테이블 컬럼 수정

 

테이블에 컬럼1 추가

테이블의 단일 컬럼 추가, 다중 컬럼 추가 내역이다 [그림1]

 

MAKETABLE 컬럼 내역
2

컬럼의 자료형 크기나 자료형을 바꿀 때 위와 같이 사용하면 된다 [그림2]

수정된 내역
3

컬럼을 여러개 수정하고 싶을 경우 위와 같이 사용하면 된다 [그림3]

 

4

컬럼명을 수정하는 방법 [그림4]

 

5

컬럼의 기본값을 설정하는 DEFAULT

NOT NULL 혹은 NULL을 설정해주는 방법

동시에 설정해주는 방법이다

 

- 테이블 컬럼 삭제, 테이블 삭제

6

역시 뭐든 삭제는 쉽다 ^^ [그림6]

위는 테이블 내 컬럼을 삭제하는 방법이고

아래는 테이블을 없애버리는 방법이다

728x90
728x90
728x90

Oracle 홈페이지에 들어가서 우선적으로 SQLDeveloper 기본적인건 다운을 받은 상태에서 시작해야한다

www.oracle.com/kr/database/technologies/www.oracle.com/kr/database/technologies/oracle-database-software-downloads.html#19c

 

본인의 컴퓨터 사양에 맞춰서 Download를 해주면 된다! 맨 하단의 11g을 많이들 사용하는 것 같다

 

www.oracle.com/tools/downloads/sqldev-downloads.html

 

위 링크는 SQL developer 다운로드 하는 링크

 


1
2

시작 버튼- 서비스 및 응용프로그램- 서비스에 들어가면 그림[2]에 노란줄 쳐진 녀석들이 보일 것이다

더블 클릭하면 그림[1]과 같은 창이 켜지고 시작 유형 수동과 중지를 해준다

해주는 이유는 : 계속 켜놓으면 서버가 느리기 때문에 Oracle을 사용할 때마다 계속 Start 해줄 것이다

 

START 하는 방법은 다운로드를 받으면 StartDatabase / StopDatabase가 생기는데 이 두개를 시작과 끝에 해주면 데이터 베이스를 껐다 켰다 해준다

 

3

Run SQL Command Line이라는 실행 프로그램이 존재한다

이것을 켜줘서 그림[3]과 같이 입력을 해준다

conn 은 connect라는 의미이다

위에 보이다싶이 system/ system으로 id/password이며 Enter password 할 때 입력 내용이 보이지 않으니 당황하지 않아도 된다

맨 아래에 있는 Connected만 확인하면 성공!

 

4

나는 잠깐 다른걸 보느라 껐다 켜서 SQL Command Line의 그림[3] 내역이 보이지 않는다

이제 기본적으로 oracle에서 제공되는 hr 서버에 접속하려고 하는데 그림[4]와 같은 오류가 발생한다

5

아직 연결이 된적이 없는 상황이었으므로 잠긴 상태라 새롭게 사용자를 변경해줘서 connect를 해줘야 한다 그림[5]

alter user hr

identified by hr :: hr 비밀번호를 hr로 하겠다

account unlock;  :: 세미콜론(;)으로 마무리 해주어야 끝인걸 아니까 입력해줘야 한다

그러면 User altered가 되었다고 나온다

 

6

hr에서 기본적으로 주는 employees 테이블을 이용하여 제대로 연결 되었는지 확인해보자

 

- hr외 scott 계정도 있는데 scott 계정을 연결할때 아래와 같이 사용하면 된다

SQL> conn system/system

Connected.

SQL> @C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin\scott.sql

SQL> alter user scott identified by tiger;

 

7

Oracle SQL Developer를 이용을 시작 할 수 있다 아까 처음 깔때 했던 것 처럼 system/ system , hr/hr, scott/tiger 이런식으로 다 연결해주고 테스트하여 정상적으로 연결이 되었는지 확인하고 사용해주면 된다

(StartDatabase가 되어있는지 확인!)

 

정상적으로 연결된 모습

 

이제 새로운 파일을 만들어서 사용해주면 된다!!!! 새로운 파일은 흰색 A4용지같은걸 누르고 데이터베이스 새파일해서 사용해주면 된다~~ 

8

그림[8]에서 노란줄 쳐진 부분을 통하여 계정을 바꿔서 사용해줄 수 있다

 

실행은 ▶ 화살표 표시를 눌러서 사용해줄 수도 있고 아니면 F9로 사용이 가능하다

 

간단 단축키를 정리해주자면

데이터베이스 접속 : alt +F10 

현재 쿼리 실행 : F9 혹은 ctrl + enter

행 삭제 : ctrl + x

파일로 출력 : ctrl + p

자동 정렬 : ctrl + F7

 

기본 ctrl+c,v는 사용이 가능하니 생략! 이정도만 있으면 사용하기 쉬울 거다

 

728x90

+ Recent posts