database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 40243 게시물 읽기
No. 40243
TABLE 에서 A칼럼 8자리 값이 B칼럼 처음 8자리와 틀리면 저장되지 않게 지정하는 방법 문의
작성자
박재덕(jdpark)
작성일
2013-09-02 13:27ⓒ
2013-09-02 14:02ⓜ
조회수
6,455

TABLE 에서 A칼럼 8자리 값이 B칼럼 처음 8자리와 틀리면 Insert 

또는 Update 되지 않게 지정하는 방법 문의 합니다.(이 때 P/G 은 당연히 Error 발생해도 됩니다.)

 

P/G Logic 으로는 이해할 수 없는 값이 B 칼럼에 저장 되고 있어
DataBase 기능으로 제한 가능한지 문의 드립니다.(하루에 3만건 이상 저장 되는데 1~2건이 이런 경우 발행 합니다.)

물론 발생하지 않을때도 있고요.

 

P/G 문제일수 있으나, 누가 악의적으로 손을 대는것인지....알수 없어 답답해서 글 올립니다.

 

어떠한 방법이라도 괜찮으니 답변 부탁드립니다.

 

CREATE TABLE TABLE_TEST
(
  A           CHAR(08),
  B           VARCHAR2(20)
)

 


아래 질문과 연관 됩니다.

http://durl.kr/5q6tty

Proceed 클릭 하시면 내용 나옵니다.

이 글에 대한 댓글이 총 6건 있습니다.

체크조건으로 해보려 했으나 테스트 결과 다른열을 참조를 못하네요.

 

프로그램 상에서 체크 하는게 좋을듯 합니다.

채용근(taiji97)님이 2013-09-02 13:35에 작성한 댓글입니다.

현재는 P/G 문제인지,  

 

누군가 손을 대는 것인지 찾기 위한 방법으로 이해해 주셨으면 합니다.

 

채용근 님 감사합니다.

박재덕(jdpark)님이 2013-09-02 13:47에 작성한 댓글입니다.
이 댓글은 2013-09-02 13:48에 마지막으로 수정되었습니다.

TRIGGER 에서 컬럼 A 와 B 의 값을 체크해서 

값이 틀리면 오류를 생성하면 어떨까요?

아린(arin76)님이 2013-09-02 14:32에 작성한 댓글입니다.

트리거에서

before insert update .... 고민해 보겠습니다. 

 

아린 님

감사합니다.

 

자기 자신의 Table 에 Insert Update 제한이 가능할까요? 
Test 는 해보겠습니다.

또다른 방법도 기다리겠습니다.

박재덕(jdpark)님이 2013-09-02 14:42에 작성한 댓글입니다.
이 댓글은 2013-09-02 14:46에 마지막으로 수정되었습니다.

트리거로 간단하게 만들어봤습니다. 참조하세요.


 -- 테이블 생성 

CREATE TABLE test42(
A CHAR(8),
B VARCHAR(20)
)

-- 트리거생성
CREATE OR REPLACE TRIGGER trg_test42
BEFORE INSERT OR UPDATE ON test42
FOR EACH ROW
DECLARE
  user_define_err01 EXCEPTION;
BEGIN
  IF :NEW.A != SUBSTR(:NEW.B,1, 8) THEN
    RAISE user_define_err01;  
  END IF;
  EXCEPTION
    WHEN user_define_err01 THEN
         RAISE_APPLICATION_ERROR(-20001, 'A / B 컬럼값 불일치');
END;

-- 입력시 오류
INSERT INTO test42(a, b) 
VALUES ('AAAAAAAA', 'BAAAAAAA12345');
아린(arin76)님이 2013-09-02 15:28에 작성한 댓글입니다.
이 댓글은 2013-09-02 15:28에 마지막으로 수정되었습니다.

아린(arin76)님  감사합니다.

박재덕(jdpark)님이 2013-09-02 16:00에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40248쿼리 관련 질문입니다. 일별 데이터를 뽑는.. [5]
배현석
2013-09-05
5729
40246잘 아시겠지만, 주민번호... 검증 알고리즘(algorism)입니다.
박재덕
2013-09-03
6601
40245Mview 생성시 오류 관련 문의 [4]
초보
2013-09-03
5855
40243TABLE 에서 A칼럼 8자리 값이 B칼럼 처음 8자리와 틀리면 저장되지 않게 지정하는 방법 문의 [6]
박재덕
2013-09-02
6455
40242오라클 랜덤하게 1건 조회하기 [3]
JHoon
2013-09-01
6921
40241수정-특정 Table Insert Update 시 작업한 P/C IP 확인 문의 [2]
박재덕
2013-08-29
6345
40240BLOB형을 사용을 하려고 하는데요.. [1]
조우연
2013-08-29
5470
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다