일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 셋업
- 자바
- jquery
- 면접
- 이클립스
- EL태그
- springboot
- 깃허브 간단요약
- jstl
- Oracle
- 필터체인
- 설정
- 제이쿼리
- Eclipse
- 스프링
- 폼태그
- jsp 내부객체
- html
- Spring
- 알고리즘
- 설치
- 버튼
- 오라클
- 마이바티스
- SESSION
- jsp
- MySQL
- java
- 자바스크립트
- 깃허브
- Today
- Total
은은하게 코드 뿌시기
MS SQL 쿼리 - 오라클 쿼리로 바꾸기/ 마이그레이션/ INSERT 쿼리로 긴 텍스트를 집어넣어야 할때! / NCLOB 본문
MS SQL 쿼리 - 오라클 쿼리로 바꾸기/ 마이그레이션/ INSERT 쿼리로 긴 텍스트를 집어넣어야 할때! / NCLOB
은은하게미친자 2023. 5. 4. 17:531. MS SQL 의 데이터를 INSERT 쿼리를 준비한다.
2. INSERT 쿼리를 오라클로 변환하기 전에
데이터를 넣고자 하는 테이블의
시퀀스나,트리거 및 함수등이 등록 되어있는지 확인하고.
있다면 다시 생성할 수있는 쿼리를 확보한후에
꼭 DROP하자!.
예를 들어 시퀀스와, 트리거가 등록이 되어있다.
그런상태에서 INSERT를 하게되면
트리거에 걸려있는 컬럼의 값이 기존 데이터로 들어가지 않고 시퀀스의 값으로 들어가게 되어
기존 데이터와 다른 데이터가 들어 가게 되니 주의하도록 하자.
3. 오라클 쿼리로는
INSERT INTO 와 INSERT ALL 이 있는데
INSERT INTO 는 데이터가 하나씩 들어가는 반면에
INSERT ALL 은 여러개의 데이터를 여러개 테이블에 넣을 수있다.
문법은 아래와같다.
INSERT ALL 의 SELECT * FROM DUAL; 은 VALUES 절이 처리 되었음을 나타내느 신호이다.
INSERT INTO | INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...); |
INSERT ALL | INSERT ALL INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...) INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...) INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...) ... SELECT * FROM DUAL; |
간단한 예로 쿼리를 변경해보자
+ 쿼리를 변경할때
MSSQL 는 'N' 접두사를 사용하여 문자열을 나타내는데
MS SQL 의 N' 를 ' 로 변경해주는 것을 잊지말자!
꼭 공백을 포함해서 바꿀것 데이터에 N' 이란 데이터가 있을 수있기때문
MS SQL | 오라클 |
INSERT [dbo].[TBL_TEST] ([TEST_seq], [TEST_2], [TEST_3]) VALUES (1, N'제목','안녕하세용') | INSERT ALL INTO TBL_TEST (TEST_seq, TEST_2 TEST_3) VALUES(1, '제목','안녕하세용') SELECT * FROM DUAL; |
3-1. 오라클 쿼리로 데이터를 넣을때
[Oracle] ORA-01704: 문자열이 너무 깁니다 "string literal too long"
이런 데이터가 나와버린다.
아.... 그런데 데이터형이 NCLOB 란다... 이거 4G까지나 들어간다는데. 왜안들어가..... 우짠단말이냐
Oracle에서 CLOB 데이터 타입은 일반적으로 4GB까지의 대용량 문자 데이터를 저장할 수 있습니다. 그러나, VARCHAR2 데이터 타입은 최대 4000바이트까지의 문자열만 저장할 수 있습니다. 따라서, VARCHAR2 데이터 타입으로 정의된 열에 대해 대용량 문자 데이터를 저장하려면, TO_CLOB 함수를 사용하여 VARCHAR2 데이터를 CLOB 데이터 타입으로 변환해야 합니다.
TO_CLOB 함수 와 '||' 연산자 를 사용하면된다.
TO_CLOB('변환할 문자열')
: string을 CLOB 타입으로 변환
|| 연산자
: 문자열을 결합하는 연산자. TO_CLOB 함수와 결합하여 사용하면 VARCHAR2 데이터타입의
문자열을 CLOB 데이터 타입으로 변환하고 두개이상의 CLOB 데이터를 결합할 수 있다.
예를들어 TO_CLOB('긴문자열')||TO_CLOB('긴문자열2')||TO_CLOB('긴문자열3')||TO_CLOB('긴문자열4')
와같이 반복하여 문자열을 추가하여 사용 할수 있다
다음은 그 예시이다.
중간중간에 ')||TO_CLOB(' 를 사용하여
STRING을 합치되
꼭 괄호를 닫아주는 것을 잊지 말자.
MSSQL | 오라 |
INSERT [dbo].[TBL_TEST] ([TEST_seq], [TEST_2], [TEST_3]) VALUES (1, N'제목', '<div> 아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우<br> 럴러럴럴러러웽뤵뤵<br>뤵뤵뤠아알 랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠<br>루레뤠루레뤨 우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라<br>라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵<br>뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라<br>와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레<br>뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러 웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라<br>라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와 라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠</div>', 1) |
INSERT ALL INTO TBL_TEST (TEST_seq, TEST_2, TEST_3) VALUES (1, '제목', TO_CLOB('<div> 아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우<br> 럴러럴럴러러웽뤵뤵<br>뤵뤵뤠아알 랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠<br>루레뤠루레뤨 ')||TO_CLOB('우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라<br>라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵<br>뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라<br>와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레<br>뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러 웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라<br>라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와 라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알')||TO_CLOB('랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠아알랄랄라라라와라랄라라괄뢀롸로라롸웰뤨뤠루레뤠루레뤨우럴러럴럴러러웽뤵뤵뤵뤵뤠</div>'), 1) SELECT * FROM DUAL; |
4. 아까 지운 시퀀스와 트리거를 다시 만들어야 하는데 이전에 시퀀스에 대해 알아보자.
오라클의 시퀀스?
오라클의 아래 문법처럼 시퀀스는 일련번호를 자동으로 생성하는 객체이다. |
CREATE SEQUENCE sequence_name [START WITH start_value] [INCREMENT BY increment_value] [MAXVALUE max_value | NOMAXVALUE] [MINVALUE min_value | NOMINVALUE] [CYCLE | NOCYCLE] [CACHE cache_size | NOCACHE]; |
일련 번호를 생성하려면 아래와같이 사용 하면되며 한번 호출 될때마다 설정해둔 증감식이 적용 된다. 예를 들어 이전에 사용한 값이 59 고 1부터 증감하는 값이 1이라면 NEXTVAL을 실행하는 순간 59 |
SELECT sequence_name.NEXTVAL FROM dual; |
현재 일련 번호를 확인하려면 아래와같이 호출 하면 된다. |
SELECT sequence_name.CURRVAL FROM dual; |
시퀀스 참고 : https://leggo.tistory.com/120
[DB] 시퀀스(sequence) - ORACLE/MYSQL sequence 만들기
[ORACLE] 시퀀스(sequence) ? : 오라클 데이터베이스 에서 특정 규칙에 맞게 연속 숫자를 생성하는 객체 select max() 등의 방식을 사용해도 좋지만 데이터가 많아 질수록 가장 큰데이터를 찾고 새로운 번
leggo.tistory.com
값을 한번 사용하고나면 수정할 수없다.
5. 다음은 시퀀스 /트리거 를 들어간 데이터에 알맞게 수정해주는 작업이다.
/* 시퀀스 트리거 작업 ========================================================================================================*/
-- 시퀀스랑 트리거를 지운다
DROP SEQUENCE SEQ_TBL_TEST ;
DROP TRIGGER TRG_TBL_TEST ;
SELECT * FROM TBL_TEST;
-- 다시만든다
CREATE SEQUENCE SEQ_TBL_TEST
START WITH 1
INCREMENT BY 1
NOCACHE
NOCYCLE;
CREATE OR REPLACE TRIGGER TRG_TBL_TEST
BEFORE INSERT ON TBL_NEWS
FOR EACH ROW
BEGIN
SELECT SEQ_TBL_TEST.NEXTVAL INTO :NEW.TEST_seqFROM DUAL;
END;
-- MAX 값을 조회한다.
SELECT MAX(TEST_seq) FROM TBL_TEST;
-- MAX값 만큼 숫자를 증가하게 수정
ALTER SEQUENCE SEQ_TBL_TEST INCREMENT BY 537;
-- 시퀀스값 증감
SELECT SEQ_TBL_TEST.NEXTVAL FROM DUAL;
-- 현재값 확인
SELECT SEQ_TBL_TEST.CURRVAL FROM DUAL;
-- 증감 값 1씩 커지게 다시 수정
ALTER SEQUENCE SEQ_TBL_TEST INCREMENT BY 1;
-- 트리거 ENABLE (요건 안해도 될꺼같긴해요..)
ALTER TRIGGER TRG_TBL_TEST ENABLE;
/* ========================================================================================================*/
'Database -Mysql,Oracle' 카테고리의 다른 글
NULL일때 다른 컬럼 조회하기 / 수정일/ 등록일 (0) | 2024.06.11 |
---|---|
MSSQL - sp_executesql / Oracle (0) | 2023.05.09 |
[DB] 롤 - 오라클 (0) | 2022.11.09 |
[DB] 권한관리 - 오라클 (0) | 2022.11.09 |
[DB] 사용자관리 - 오라클 (0) | 2022.11.09 |