2017-05-09 4 views
0

명확성을 위해 편집 :테이블을 실제 파일 AS400/DB2로 변환하십시오.

SQL을 사용하여 DB2에서 테이블을 생성했습니다. 작성한 실제 파일에 대한 레코드 형식을 모르고 RPG 코드에서 사용할 키를 정의하는 논리 파일이 필요하다는 것을 알았습니다. DDS가 아닌 SQL을 사용하여이를 어떻게 수행 할 수 있습니까?

이것은 내가 주제에 대해 더 많이 알고 있기 때문에, 정말로 묻고 싶었습니다.

+1

SQL로 만든 테이블의

은 실제 파일입니다. 처음부터 다시 시작하여 동료를 혼동하지 마십시오. – danny117

+0

SQL을 사용하여 '무엇'을 달성 할 수 있습니까? SQL 인덱스를 만드는 방법을 묻는다면 SQL CREATE INDEX 문을 실행하십시오. 아니면 레코드 포맷에 대해 묻고 있습니까? 그렇다면 포맷은 무엇입니까? – user2338816

답변

3

DDS로 만든 PF와 SQL DDL로 만든 테이블은 실제로 차이가 없습니다.

두 가지 f} 모두 PF 속성을 갖는 * FILE 오브젝트가됩니다.

결과 개체는 SQL 또는 RPG 레코드 수준 액세스 (RLA)와 함께 사용할 수 있습니다.

DDS 작성 PF 또는 SQL DDL 작성 테이블을 통해 DDS LF 또는 SQL 뷰/색인을 작성할 수 있습니다.

IBM은 DDS 작성 오브젝트에 대해 SQL DDL을 생성 할 수있는 도구를 제공하지만 그 반대의 경우는 아닙니다. DDS 소스를 분실 한 경우 DDS를 생성하도록 설계된 타사 도구를 찾을 수 있습니다.

모범 사례는 SQL DDL을 사용하는 것입니다. DDS를 사용할 때 DB에 대한 최근의 많은 개선 사항을 사용할 수 없기 때.입니다.

예를 들어 RPG와 호환되도록 DDS를 사용해야하는 경우 올바르지 않습니다. IBM i 특정 키워드를 활용하면됩니다. 대신

create table my_long_table_name (
    my_long_column_name char(10) 
); 

사용

create table my_long_table_name  
     for system name mytable ( 
    my_long_column_name     
    for mycol char(10)    
) rcdfmt mytabler;      
+0

팁 주셔서 감사합니다, 나는 그것을 밖으로 시도 할 것입니다 – Delfic

+0

안녕하세요 찰스. "for"키워드를 사용해 보았지만 구문 오류가 있습니다 ... "키워드 FOR FOREXED"가 없습니다. – Delfic

+0

끝에있는 rcdfmt는 테이블과 다른 이름으로되어 있습니까? – Delfic