by 귀여니^^ [Oracle 기초] 오라클 oracle 제약조건 constraint 확인 [2014.12.13 13:14:25]
1
2
3
|
SELECT CONSTRAINT_NAME FROM USER_CONSTRAINTS WHERE TABLE_NAME = 'EMP3' ; |
emp3 테이블을 생성한 후 commit; 하고..
위의 SQL 문을 실행했는데 "선택된 레코드가 없습니다." 라는 문구만 계속 나옵니다.
이유가 뭘까요...ㅜ.ㅠ
상관은 없겠지만..
혹시나 해서 insert 로 값을 하나 넣었어도 동일합니다.
왜 그럴까요?
도스 상에서 SQL plus 로 들어가도 마찬가지고,
SQL developer 라는 툴을 사용해도 마찬가지 입니다...
SQL> CREATE TABLE emp3( ename VARCHAR2(20) CONSTRAINT emp_nn_ename NOT NULL );
테이블을 생성할 때
not null 제약조건을 기재하고, sqldeveloper 에서도 확인은 되는데..
sqldeveloper 화면 캡춰 --> http://blogfiles.naver.net/20141214_7/jedis13_1418556899422xLe6f_PNG/querry.png
user_constraints 을 조회하면 확인이 않되는거 같아요...
이유가 뭘까요.....ㅠ.ㅜ
select constraint_name from user_constraints where table_name='emp3';
안되는 이유를 찾은거 같습니다.
where 절의 'emp3' 를 소문자로 하면.."선택된 레코드가 없습니다." 라고 나오고..
대문자로 하면..정상적으로 출력됩니다.
테이블 생성할 때 소문자로 생성한거 같은데..
생성이 된 후에 all_tables 를 조회해보니 대문자로 생성이 됐네요..
복사해서 붙여넣는게 왠지 찝찝해서 계속 손으로 쳤었는데..
테스트 해본다고..방금 복사해서 붙여 넣어봤더니..되더라구요.
그래서 손으로 다시 쳐보면서 원인을 발견하게 됐어요ㅋ
별건 아니지만.. 나름의 경험을 한거 같습니당..
답변 달아주신 분들 정말 감사합니당~^^b