반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- elasticSearch
- 홈택스
- Blade
- as후기
- php
- win32
- auth
- 사업자계좌
- vue
- cartalyst
- 코로나
- 전자소송
- blockchain
- Java
- Python
- 당사자표시정정신청서
- javascript
- Tutorial
- Eclipse
- 이더리움
- 코로나19
- reactnative
- Sentinel
- 보정명령
- 개인사업자
- Laravel
- Bootstrap
- 소액임금체불
- 인민공원
- 체당금
Archives
- Today
- Total
그냥 사는 이야기
오라클 Table에선 BOOLEAN 형이 없다 본문
반응형
오라클 Boolean type
HSQL에서 아래처럼 테이블 생성하는 쿼리를 오라클 DB에서 하려고 할 때였다.
CREATE TABLE acl_sid (
id bigint generated by default as identity(start with 100) not null primary key,
principal boolean not null,
sid varchar_ignorecase(100) not null,
constraint uk_acl_sid unique(sid, principal)
);
Oracle에서도 같은 테이블을 만들기 위해서 시도하는데 BOOLEAN 형에서 에러가 발생하였다. 예상도 못했었는데 실제로 검색을 조금 해보니 지원하지 않는다고 하였다. 그래서 몇몇 다른 대안을 사용하여야 했다.
Oracle Table의 칼럼 데이터 타입중에 BOOLEAN은 없다. 하지만 PL/SQL에서는 있다. 예)VAR_BOOLEAN BOOLEAN := TRUE;
Auto Incremental
그리고 증감자 처리도 오라클에선 조금 달랐는데 Create Sequence를 별도로 작업해 주어야 했다.
CREATE TABLE acl_sid(
id INT NOT NULL PRIMARY KEY,
principal CHAR(5) CHECK(principal IN('FALSE','TRUE')),
sid VARCHAR2(100) NOT NULL,
CONSTRAINT uk_acl_sid UNIQUE(sid, principal)
);
Create Sequence id Increment by 1 start with 1;
그래서 최종은 위처럼 하였다. boolean형보다 당장에는 "TRUE", "FALSE" 이 문자열이 필요해서 CHAR(5)로 그냥 잡고 테이블을 구성하였다.
덕분에 추가적으로 DB간 차이에 대해 잘 알려준 이곳을 참조하였다.
'Development > 기타' 카테고리의 다른 글
ElasticSearch - Search, Aggregation (0) | 2020.01.25 |
---|---|
ElasticSearch - index_document_CRUD_mapping (0) | 2020.01.25 |
Visual Studio에서 마우스 4,5 버튼 사용하기 (1) | 2014.02.27 |
Incompatible operand types int and String 에러 수정 (0) | 2013.01.29 |
install shield로 설치 파일 만들기 (1) | 2008.05.23 |
Comments