https://woorishistory.tistory.com/26
[DBeaver]DML, DDL쿼리 추출
데이터를 일괄적으로 Insert 해야할 일이 있이 생겼다. 기존 데이터를 generate query로 뽑아 필요한 부분만 수정하여 쓰려했다. result 창에서 우클릭을 하면 나왔던 generate query 어쩌구가 안 보인다. htt
woorishistory.tistory.com
에서 계속
대충 Insert를 뽑아서 일괄적으로 Data를 Insert 하려했다.
INSERT INTO Table_NM (Col1, Col2, ...) VALUES
(Val1, Val2, ...)
, (Val1, Val2, ...)
...;
하지만 Oracle은 (Val1, Val2, ...), (Val1, Val2, ...) 이렇게 입력이 되지 않는 단다.
INSERT INTO Table_NM (Col1, Col2, ...)
SELECT Val1, Val2, ... FROM DUAL
UNION ALL
SELECT Val1, Val2, ... FROM DUAL
UNION ALL
...
SELECT Val1, Val2, ... FROM DUAL;
그래서 위같은 방법을 쓰려고 했다. 아무리 복붙이지만 Col 쓰는 것만이라도 줄이고 싶었다.
ORA-02287: sequence number not allowed here
ORA-02287: 시퀀스 번호는 이 위치에 사용할 수 없습니다.
이번에는 Val1에 ID값을 입력을 위해서 넣은 OBJECT_SEQUENCE.NEXTVAL은 Union과 함께 사용할수 없단다.
결국 하나하나 따로 생성;;
INSERT INTO Table_NM (Col1, Col2, ...) VALUES
(Val1, Val2, ... );
INSERT INTO Table_NM (Col1, Col2, ...) VALUES
(Val1, Val2, ... );
...
INSERT INTO Table_NM (Col1, Col2, ...) VALUES
(Val1, Val2, ... );
하지만 우리에게 DB Tool이 있다!
대충 쭉 복붙복붙 후 [ ; ] 만 잘 찍어준다음
ALT+X => Execute Script 로 한방에 실행이 가능하다.
개발에서 Test 후 운영에 실제 Insert하려 했더니 이번에는 OBJECT_SEQUENCE.NEXTVAL에 접근 권한이 없다.
Insert하나 하는데 뭐이렇게 빙빙 돌아 왔는지
===참고
[ORACLE] oracle insert 여러개하기
일을하다가 다중행을 insert할 일이 생겼다. (insert-select말고...) 일일히 insert하면 되지만 더 효율적인 방법이 없을까 고민하다가 쿼리를 만들어서 날렸다. INSERT INTO table (column1, column2, ...) VALUES (valu
0and.tistory.com
https://devjeon.tistory.com/entry/ora01
[Oracle] ORA-02287 에러 해결방법
에러메시지 ORA-02287: sequence number not allowed here ORA-02287: 시퀀스 번호는 이 위치에 사용할 수 없습니다. 현상 INSERT INTO T_MNG (CODE, SEQ) SELECT A.CODE , SEQ_T_MNG.NEXTVAL FROM T_MNG_INFO GROUP BY CODE ; SELECT 결과를 INS
devjeon.tistory.com