2010-02-17 2 views

답변

6

당신은 GUID를 생성하기 위해 SYS_GUID()를 사용하고, 컬럼의 DEFAULT 값으로 사용할 수 있습니다 :

CREATE TABLE test_table (
    uid_col RAW(32) DEFAULT SYS_GUID(), 
    some_val VARCHAR2(10) 
); 

편집가 : 자세한 내용은 this question에 대한 답변을 참조하십시오.

+0

또한 사용자 또는 응용 프로그램 제공 RAW (32)가 제공되지 않았는지 확인하기 위해 트리거를 코딩해야합니다. 그렇지 않으면 키 충돌이 발생할 수 있습니다. 트리거가 비활성화 될 수 있고 직접 경로 모드의 SQL * Loader와 같은 일부 응용 프로그램은 트리거를 모두 무시할 수 있기 때문에 완벽하지는 않습니다. 나는 Peter의 해결책이 최선의 availble이 아니라고 말하지 않는다. 오라클은 실제로 시스템 생성 키를 완전히 허용하지 않습니다. –

+0

충분하지 않습니다. 값의 고유성을 유지하기 위해 'uid_col'열에 기본 키 제약 조건을 추가해야합니다. – ThinkJet

+1

[SQLFiddle 예제] (http://sqlfiddle.com/#!4/1c4d6/1) – ThinkJet

-1

향후 문제를 해결하기 위해 char 또는 varchar2 열 데이터 형식을 원시 형식으로 만듭니다.

+0

나는이 문제가 향후 문제를 해결하는 데 어떻게 도움이되는지에 대한 설명을 제공해야한다고 생각합니다. –