・제약 조건(CONSTRAINTS)이란? 테이블에 데이터를 작성(삽입/갱신)할 때 조건에 맞지 않는 데이터를 입력시키지 않기 위한 구조이다. 테이블의 열에 제약을 거는 것으로 데이터베이스측은 데이터의 무결성을 가질 수 있다. ・무결성 제약조건 종류 5가지 제약명 설명 기본키(Primary Key) 제약 컬럼 값은 반드시 존재해야하며 유일해야함. UNIQUEm, NOT NULL 제약조건 결합 고유키(Unique Key) 제약 중복값 금지, 해당 컬럼은 유일한 값을 가짐. NOT NULL 제약 NULL 값 금지 체크(CHECK) 제약 해당 컬럼에 입력할 수 있는 값의 범위나 조건 지정 외부 참조키(Foregin Key) 제약 다른 테이블의 기본 키 또는 고유 키를 참조하는 제약 ・제약 조건을 정의하는 방법 ..
일단.. 프로젝트에서 백엔드를 하고 있어서 SQL문 작성을 하는 일이 많은데 자주 쓰는 함수인데도 매번 구글링 하는 게 귀찮아서 메모 메모,,! 함수 Oracle에서의 함수도 프로그램 언어에서 사용하는 메서드(인수에 값을 넣어 원하는 결괏값을 리턴해서 받는 것)와 같다. 주요 함수 ・변환 함수 : 문자와 날짜, 숫자형 데이터들 사이에서 형 변환하는 함수 변환 함수 TO_CHAR(val[, fm]) - val을 CHAR형으로 변환 - 포맷 형식을 지정하는 경우는 fm도 지정한다. ※ 포맷 형식에 대해서는 → ~~~을 확인 TO_NUMBER(str) - str을 NUMBER형으로 변환 TO_DATE(str[, fm]) - str을 DATE형으로 변환 ※ 포맷 형식에 대해서는 → ~~~을 확인 TO_TIMES..
주요 내부 데이터 유형( 내부 데이터 유형 : Oracle이 열에 데이터를 저장하는 방법을 지정) 문자형 데이터형 최대치 설명 CHAR(n) 2000 - 고정 길이 문자 데이터 저장(255바이트 이하) - 바이트 단위로 저장 - 데이터베이스 문자셋에 따라 같은 문자라도 바이트 값이 달라진다. VARCHAR2(n) 4000 - 가변 길이 문자 데이터 저장 - 바이트 단위로 저장 - 데이터베이스 문자셋에 따라 같은 문자라도 바이트 값이 달라진다. NCHAR(n) 2000 - 유니코드만 지원하는 고정 길이 문자열 ※ 문자 코드를 고려하지 않고 문자 수로 정의할 수 있어서 편리 NVARCHAR2(2) 2000 - 유니코드만 지원하는 가변 길이 문자열 ※ 문자 코드를 고려하지 않고 문자 수로 정의할 수 있어서 편..
OracleNetServices Oracle Net Services는 오라클의 네트워크 유틸리티를 정리한 총칭으로 아래와 같은 컴포넌트가 포함된다. ・Oracle Net ・리스너 ・Oracle Connection Manager ・Oracle Net Configuration Assistant ・Oracle Net Manager ■ Oracle Net OracleNet은 클라이언트에서 서버로 네트워크 환경을 제공하는 소프트웨어이다. 프로토콜 레벨에서는 클라이언트와 서버가 연결되어 있는 게 조건임 ■ 리스너 리스너는 클라이언트의 연결 요청을 받아 서버에 대한 통신을 관리하는 서버상의 프로세스이다. 리스너의 시작/중지나 각종 설정에 대해서는 아래의 게시글을 참고! [Oracle] 리스너(LISTENER) 제어 ..
네트워크 파일 네트워크에 관한 파일에는 「tnsnames.ora」「sqlnet.ora」「listener.ora」 3가지가 있다. 기본적으로 %ORACLE_HOME%\network\ADMIN\에 있다. 이 위치를 변경하고 싶으면 「TNS_ADMIN」 환경 변수로 폴더를 지정하면 된다. ■ tnsnames.ora 파일 - 실무에서 주로 호스트명으로 설정해서 사용 tnsnames.ora 파일은 클라이언트 측에 두는 파일로 로컬 네이밍 구성의 네트워크에서 사용한다. Oracle에서 데이터베이스에 접속할 때는 "connect system/manager@oradb" 등으로 적는데 @이후의 문자 부분을 연결 식별자라고 해서 연결하려는 데이터베이스를 의미한다. 호스트 네이밍 구성의 경우는 호스트명(서버명)이 되기 때문..
리스너 커맨드(Listener Command) 리스너란 DB서버(네트워크)를 통해 클라이언트에서 DB서버로 접속하는 구성을 할 때 클라이언트로부터 DB로 연결 요청을 받는 프로세스를 의미한다. ⇒ 간단히 말해서 "클라이언트 요청을 듣는 사람" 리스너의 시작이나 정지, 각종 설정 등을 리스너 커맨드로 실시한다. lsnrctl 명령으로 리스터 프롬프트에 들어갈 수 있다. command 설명 lsnrctl 리스너 제어 유틸리티를 시작 exit 리스너 제어 유틸리티를 종료 help 리스너 제어 유틸리티의 HELP를 표시 start start : 리스너 시작 ex) lsnrctl start [리스너명] stop stop : 리스너 정지 ex) lsnrctl end [리스너명] reload listener.ora ..
■ 에러 ORA-12514: TNS:리스너가 현재 접속 기술자에 요청된 서비스를 알지 못함 리스너가 클라이언트에서 접속하려는 요청을 받았을 때, 접속처가 되는 서비스를 인식하지 못할 때 발생하는 에러이다. ■ 원인 - 리스너에 서비스가 등록되지 않음 - 클라이언트의 접속 정의가 잘못됨 ■ 대응방법1. 리스너에 서비스가 등록되어 있지 않음 cmd(명령 프롬프트)에서 Isnrctl services 명령으로 리스너에 등록된 서비스를 확인한다. c:\>lsnrctl SERVICES [listener_name] 서비스가 리스너에 등록되지 않은 일반적인 원인으로는 - 인스턴스가 시작되지 않음 : 인스턴스가 시작되지 않은 경우, 인스턴스를 실행시키면 된다. - 리스너 실행 직후 : 리스너 실행 후 서비스가 등록되는 ..
■ 에러 ORA-00942 : 테이블 또는 뷰가 존재하지 않습니다. 이 에러는 해당 테이블이나 뷰가 존재하지 않거나 테이블이나 뷰에 대한 액세스 권한이 부족할 때 발생한다. SQL> SELECT * FROM scott.emp2; SELECT * FROM scott.emp2 * 오류 행: 1: 오류가 발생했습니다. ORA-00942 : 테이블 또는 뷰가 존재하지 않습니다. ■ 원인 - 테이블 또는 뷰가 존재하지 않을 때 - 액세스에 필요한 권한 부족 ■ 대응방법1. 테이블 또는 뷰가 존재하지 않을 때 해당 테이블 또는 뷰가 존재하는지, FROM 절에 지정된 테이블 이름, 뷰 이름의 지정이 잘 되어있는지 확인해보자. 아래의 SQL문을 이용해 사용자 SCOTT이 소유하는 오브젝트 EMP2가 존재하는지 확인 가..
- Total
- Today
- Yesterday
- in/out/ref 예제
- 시간차이
- BEGIN절
- pl/sql
- TrimEnd
- vba
- 동기통신
- Oracle
- in/out/ref
- 유틸리티
- 초기화파라미터파일
- 에러
- 후나빙
- 참조전달
- C#
- EXCEPTION절
- commit
- grant
- 유틸리티에러
- REVOKE
- PL/SQL 실행문
- USER_SYS_PRIVS
- VB.Net
- rollback
- DBA_SYS_PRIVS
- in/out/ref 차이점
- DECLARE절
- in/out/ref 공통점
- NLog
- PL/SQL 예외처리문
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |