오라클 PL SQL 패키지 내에 DB LINK가 있을 때 유의할 점(?) 혹은 알아두면 좋을 점을 공유하려고 합니다.특정 테이블을 조회하고 있고, 또한 DB LINK로 원격지 테이블도 조회하는 PL SQL이 있습니다.이때 로컬에 있는 테이블에 컬럼을 추가하는 DDL를 수행하면 PL SQL 패키지 또는 프로시저(펑션)의 상태가INVALID가 됩니다.그 이후에 PL SQL를 호출하면 DB LINK가 있을 경우와 없는 경우가 다르게 처리 됩니다.1. DB LINK가 존재하는 경우: 호출시 해당 PL SQL이 DDL로 수행이 되면서 컴파일도 되고 VALID 상태로 변경된 후에 호출이 됨 2. DB LINK가 없는 경우: 호출시 해당 PL SQL이 DDL로 수행되는게 아니라 컴파일 후에 VALID 상태로 됨. 예..
아래와 같이 구문을 사용할 때 주의할 점이 있습니다. ALTER TABLE 테이블명 DROP PRIMARY KEY; 또는 ALTER TABLE 테이블명 DROP CONSTRAINT 유니크제약조건명; 그것은 Primary key를 생성하는 방법에 따라 제약조건과 인덱스가 모두 삭제가 될 때도 있고, 또는 제약조건만 삭제가 되고 인덱스는 그대로 남아 있는 경우가 발생한다는 것입니다. Primary Key를 생성하는 방법에 따른 현상인데요. Primary Key를 생성할 때 인덱스와 제약조건을 동시에 생성하면 삭제할 때도 동시에 삭제가 되고 이미 생성된 인덱스를 사용해서 Primary Key를 생성하면, 위 구문 수행 시 제약조건만 삭제가 되고 인덱스는 남아 있게 됩니다. 문제는 이미 생성된 Primary K..
> 가상컬럼이 있는 테이블 생성CREATE TABLE TB_ORDERS (ORDER_NO VARCHAR2(10),PRICE NUMBER,QTY NUMBER,TOTAL_VALUE AS (PRICE * QTY) VIRTUAL); > 데이터 입력INSERT INTO TB_ORDERS (ORDER_NO, PRICE, QTY) VALUES('1709010001', 5000, 5);COMMIT; 데이터를 조회하면 TOTAL_VALUE에 25000 이 들어가 있는게 보인다.정확히 말하면 가상컬럼이기 때문에 PRICE * QTY 의 수식에 의해서 보여지는 값이라고 보면 된다. 당연하지만 가상컬럼이기 때문에 업데이트는 안된다. - EOF -
오라클에서 파티션키 값을 검색 조건으로 사용할 경우 주의할 점 1가지를 소개해 드립니다. 피티션 테이블명: T_ORDERS피티션 키: ORDER_DT인덱스: CUST_NO (고객번호) 위와 같은 상황에서 'AAA' 고객을 거래내역을 조회하는 경우에 ORDER_DT에 조건에 논리적 오류가 있을 경우에 문제가 생깁니다. SELECT *FROM T_ORDERSWHERE CUST_NO = 'AAA' AND ORDER_DT BETWEEN '20170101' AND '20170102';>> 정상적으로 고객번호 인덱스를 Access하는 실행계획이 수립됨. SELECT *FROM T_ORDERSWHERE CUST_NO = 'AAA' AND ORDER_DT BETWEEN '20170101' AND '20171231';>..
CREATE OR REPLACE TRIGGER USER_TRACE_TRG AFTER LOGON ON DATABASE BEGIN IF USER = '&USER_ID' THEN execute immediate 'alter session set events ''10046 trace name context forever, level 12'''; END IF; EXCEPTION WHEN OTHERS THEN NULL; END; / CREATE OR REPLACE TRIGGER USER_TRACE_TRG AFTER LOGON ON DATABASE WHEN(USER = '&USER_ID')BEGIN execute immediate 'alter session set events ''10046 trace name con..
SELECT UTL_MATCH.EDIT_DISTANCE_SIMILARITY('1111 2222', '2222') AS EDS ,UTL_MATCH.JARO_WINKLER_SIMILARITY('1111 2222', '2222') AS JWSFROM DUAL; eds jws45 40 결과는 45%, 40% ~~~ 두 비교 문자열이 100%일치하면 100이 리턴됨. UTL_MATCH.EDIT_DISTANCE_SIMILARITY 는 "Levenshtein Distance" 이고UTL_MATCH.JARO_WINKLER_SIMILARITY 는 "Jaro-Winkler Algorithm"를 사용한다고 함. 참고https://oracle-base.com/articles/11g/utl_match-string-matchin..
- Total
- Today
- Yesterday
- VARIDESK
- weka
- 루미큐브 종류
- 배당급
- 홈 오피스
- 고체 향수
- 코라나 19
- 파나소닉 비데 DL-EH10KWS
- 증권정보포털
- 유가바이트디비
- 오미크론
- 화분벌레
- 브리다 정수기
- 로니카 BCS
- 매직 트랙패드2
- 별이 빚나는 밤
- 카카오 에드
- Life Chair
- 별잉 빛나는 밤
- 빈센트 반 고흐
- GKRS
- Pixel Pals
- node.js
- 남설 팔찌
- yugabyteDB
- Sybase IQ
- 르세라핌
- 톡토기
- 솔리드 쿨론
- JMW 헤어드라이기기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |