2017-01-10 1 views
0

고유 키워드가있는 DDS가 있습니다. 나는 그것을 제거 할 필요가있다. 내가 소스를 바꾸지 않고 제거 할 수있는 방법이있다. 개체에 SQL을 사용하는 것과 같은 방법이 있습니까? 고유 키를 삭제할 수 있습니까 ??AS400 - DDS 고유 키워드

나는 ALTER 테이블을 시도했지만 그것이없는 제약 조건 이름을 묻습니다. 내게는 UNIQUE 제약 조건을 정의하는 것처럼 보입니다. diff는 소스에 UNIQUE 키워드를 지정합니다.

고유 키워드에 대해 의견을 말하고 파일을 홍보하려고합니다. DDS를 컴파일 한 후에 프로그램을 실행하면 프로그램을 다시 컴파일하지 않고 실행됩니다.

답변

-1

SQL을 사용하여 고유 키를 삭제하십시오. 찾으려면 제약 조건 이름은 컴파일 할 모든 프로그램을 필요로하지 않는, 따라서 파일 형식 ID를 변경하지 않는 DDS 소스에서 UNIQUE 키워드를 제거

select * from SYSCST    
where CONSTRAINT_SCHEMA = 'schema' 
and table_name = 'table'; 
+0

레코드가 없습니다. ..... – MAS400

+0

@ MAS400 여기에 내가 한 일은 테이블에 열을 추가 한 것입니다. 그런 다음 업데이트 쿼리를 실행하여 고유 한 열의 데이터를 복사했습니다. 고유 한 열을 삭제했습니다. 하지만 열 이름을 유지하고 싶다면 오래된 이름으로 프로세스를 반복해야합니다. 개인적으로 나는 DDS를 다시 홍보하는 대신 많은 노력이 필요하다고 느낍니다. – uSeruSher

+0

감사합니다 Vijay .... 제가 생각하기에 DDS UNIQUE 키워드를 사용하고 PF를 컴파일하면이 제약 조건을 나타내는 시스템 테이블에 항목이 생성되지 않습니다 파일에 추가되어 참조 할 수 있습니다 ..... DDS 재발행을 피할 수 있다면 다른 방법을 찾으려고합니다 ... – MAS400

1

아래를 사용합니다. 그러나 조정해야 할 레코드가 고유 할 것으로 기대하는 프로그램 논리가있을 수 있습니다.

CHGPF FILE(MYDATALIB/MYFILE) SRCFILE(MYSRCLIB/QDDSSRC)을 사용하여 시스템에서 파일을 다시 만들 수 있습니다. 기존 논리는 자동으로 처리됩니다. 기본적으로 DDS에 해당하는 ALTER TABLE