정보 문제 Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect. 0.000 sec 해결방법 Edit > Preferences > SQL Editor - Safe Updates (rejects UPDATEs and DELETEs with no restrictions) 체크 해제
동기DB(MS-SQL)에 중국어를 등록하는데 깨진다. 방법 insert table (ko, ch) values ('안녕하세요.', N'你好'); 텍스트 넣을 때, 앞에 'N'을 넣어주면 된다. 이 방법으로 되지 않는다면 데이터타입을 확인해보자. varchar 로 되어 있다면, nvarchar 로 수정해주어야 한다. 위 방법이 아니라 다른 방법을 원한다면, DB 커넥션 설정 부분에서 해당 부분이 있는지 확인해보고 설정되어 있다면 제거하면 된다. jdbc:sqlserver://[IP]:[PORT];DatabaseName=[DB];sendStringParametersAsUnicode=false ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ jdbc:sqlserver://..
동기프로젝트를 진행 중에 예기치 못한 요구사항으로 인한 DB 변경이 이루어질 때가 있다.이때, 컬럼만 추가해서 NULL 값이 들어가도 되거나, 그냥 기본 값 = (예를 들어) 1 이 들어간다면 얼마나 좋을까?하지만, 그룹으로 묶어서 값을 넣어주어야 한다면 좀 더 복잡해지기 마련이다.그룹으로 묶어서 LEVEL 값을 넣어주어야 했다. 방법 UPDATE /*+ BYPASS_UJVC */( SELECT A.COLUMN1 UPD_COL , B.RNUM SEL_COL FROM TABLE_A A , ( SELECT KEY_COLUMN, ROW_NUMBER() OVER(PARTITION BY GROUP_COLUMN1, GROUP_COLUMN2 ORDER BY ORDER_COLUMN) AS RNUM FROM TABLE_..
들어가기 전개발을 하면서 개발에 필요한 DB, 서버 등 버전을 확인해야 할 일이 생긴다. 문서 작업을 하면서... 그리고 문서 작업뿐만 아니라 기본적으로 제공되는 함수들의 사용 여부도 알 수 있기 때문에 버전은 중요하다. 예를 들면, 11g 에서 제공하는 문자열 붙이는 함수에 LISTAGG(ENAME, ', ') WITHIN GROUP (ORDER BY HIREDATE) AS AGGREGATED_ENAMES 하지만, 10g에서는 listagg 함수가 없다.... 이럴 때 10g 에서 사용할 수 있는 함수를 찾아야 한다. SUBSTR(XMLAGG(XMLELEMENT(a, '@@', NVL(COLUMN1,'_')||':'||NVL(COLUMN2,'_')) ORDER BY COLUMN3).EXTRACT ('/..

들어가기 전 기본키를 추가 할 일이 생겼다. 기존에 키가 등록이 되어 있는데, 수정하고 싶었던 것이다. 그럼 일단 지우고, 다시 등록을 해야 한다. 근데 지워지지 않았다. ALTER TABLE TEST_TABLE DROP PRIMARY KEY; ORA-02441: Cannot drop nonexistent primary key 삭제 할 수 없단다. 다시 테이블 description 을 봤다. 분명 우리가 사용하는 pk 사용 네이밍룰로 된 key 값이 등록 되어 있었다. '이상하다.' 싶어서 다시 지웠는데도 없단다. 다시 description 을 봤다. 머리가 아파왔다. 자세히 보니.... CREATE UNIQUE INDEX [PK명] ON [TABLE명]([KEY1],[KEY2],[...]) 위와 같이 ..
동기산출물을 작성 해야 한다. 그럼 뽑아야지. 쿼리 SELECT B.TABLE_NAME, B.INDEX_NAME, B.COLUMN_NAME, A.UNIQUENESSFROM ALL_INDEXES A, ALL_IND_COLUMNS BWHERE A.INDEX_NAME = B.INDEX_NAMEORDER BY B.TABLE_NAME, B.INDEX_NAME, B.COLUMN_POSITION 참고용https://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_1069.htm#i1578369http://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_1064.htm#i1577532 궁시렁형식은 각 형식에 맞춰..
몇 줄 되지 않은 데이터를 넣을 때는 GUI가 잘 되어 있는 툴을 이용해서 데이터를 넣어도 되지만, 엄청나게 많은 데이터를 넣을 때 GUI 가 잘 되어 있는 툴을 이용하여 넣을 때엔 상당히 오랜 시간이 걸려서 스크립트를 실행한다. oracle은 기본적(? - 기본옵션, 뺏다면 어쩔 수 없지만...)으로 sqlplus 를 이용하여 CUI 로 빠르게 넣을 수 있다. SQL 문으로 작성된 파일 실행하기 SQL> @c:\my_scripts\my_sql_script.sql 참고 : https://docs.oracle.com/cd/B25329_01/doc/appdev.102/b25108/xedev_sqlplus.htm
알고 있으면 편리한 쿼리 SELECT ( CASE WHEN COLUMN_ID=1 THEN ' ' ELSE ', ' END ) || ATC.COLUMN_NAME AS COLUMN_NAME /* 컬럼명 */, '/* ' || ACC.COMMENTS || ' */' AS COLUMN_NAME_COMMENT, DATA_TYPE/* 데이터타입 */, CASE --WHEN DATA_TYPE='VARCHAR2' THEN '(' || DATA_LENGTH || ')'--WHEN DATA_TYPE='CHAR' THEN '(' || DATA_LENGTH || ')'WHEN DATA_TYPE='NUMBER' THEN '(' || DATA_PRECISION || ')'ELSE '(' || DATA_LENGTH || ')' E..
들어가기 전.... 큐브리드 홈페이지에 다 나와있는 내용이다. 하지만 살짝 이해를 돕기 위해, 처음 사용해보는 사람들을 위해, 사용해 봤는데 까먹은 사람을 위해(나처럼....) 큐브리드에서는 함수를 사용할 때 불편하게????? 자바로 만들어서 사용해야 한다. 에이 설마???? 정말 그렇다. 하지만, 누군가에겐 편리하게 느껴질 수도 있다. 큐브리드 도큐먼트 참조 : http://www.cubrid.org/manual/91/ko/sql/jsp.html 근래 개발환경에서는 시스템 환경변수를 사용하지 않아서 충분히 개발을 원활하게 할 수 있었는데, 큐브리드 함수 때문에 시스템 환경변수를 다시 설정하게 됐다. 큐브리드에서 컴파일된 자바를 로드하기 위해서.... 1. 시스템 환경변수 설정 1) 자바 홈 설정 2) ..
컬럼 추가 ALTER TABLE 테이블명 ADD (컬럼명 데이터타입(숫자)); ex) ALTER TABLE T_TEST ADD ( SESSION_ID VARCHAR2(8) ) ; 컬럼 수정 ALTER TABLE 테이블명 MODIFY (컬럼명 데이터타입(숫자)); ex) ALTER TABLE T_TEST MODIFY ( SESSION_ID VARCHAR2(32) ) ; 컬럼명 변경 ALTER TABLE 테이블명 RENAME COLUMN (구)컬럼명 TO (신)컬럼명 ; ex) ALTER TABLE T_TEST RENAME C_PRV_COL TO NEW_COL ; 컬럼 삭제 ALTER TABLE 테이블명 DROP (컬럼명); ex) ALTER TABLE T_TEST DROP ( COL1 ) ;