다중 SQL문에서 pureQuery 코드를 사용하는 인라인 메소드 또는 데이터 액세스 오브젝트를 생성할 수 있습니다. 명령문은 워크벤치의 SQL 스크립트에 있거나 파일 시스템의
스크립트 파일에 있을 수 있습니다.
이 태스크 정보
라이센스 구성에 따라 이 기능은 사용하지 못할 수 있습니다. Java™ Perspective의 pureQuery 사용 Java 프로젝트와
SQL 및 루틴 개발 Perspective의 데이터 개발 프로젝트에 있는
SQL 스크립트에 대해 작업할 수 있습니다. SQL 및 XQuery
편집기로 열린 SQL 스크립트에서 작업하거나 스크립트 파일에 있는
SQL문을 임포트할 수 있습니다.
SQL 스크립트에는 하나 이상의 SQL문이 들어 있을 수 있습니다. 스크립트에 포함된 SQL문의 수 또는 사용자가 선택하는 명령문의 수가
pureQuery 코드 생성에 사용하는 마법사를 결정합니다. 단일 SQL문이 들어 있는 스크립트와 단일 SQL문을 선택하는 스크립트에 대해서는
단일 SQL문에서 pureQuery 코드 생성을 참조하십시오.
이 프로세스를 사용하여
유효한 SELECT, INSERT, UPDATE, DELETE 또는 CALL문에서만 pureQuery 코드를 생성할 수 있습니다. SQL문의
JDBC prepareStatement() 메소드로 인해 오류가 발생하면 메시지 상자에는
리턴되는 오류 메시지가 표시됩니다.
프로시저
다중 SQL문에서 pureQuery 코드를 생성하려면 다음을 수행하십시오.
- 다음 단계 중 하나를 수행하여 SQL문에서 pureQuery 코드 생성 마법사를
여십시오.
옵션 |
설명 |
SQL 및 XQuery 편집기로 열린 SQL 스크립트에 있는 SQL문의 경우: |
- 선택적: 스크립트의 일부 SQL문만을 위해 pureQuery 코드를 생성하려는 경우
각 명령문을 전체로 선택하십시오.
명령문을 선택하지 않을 경우 모든 SQL문에 대해 pureQuery 코드가 생성됩니다.
- 선택된 SQL문을 마우스 오른쪽 단추로 누르거나, 명령문을 선택하지 않은 경우
편집기의 아무 위치를 마우스 오른쪽 단추로 누른 후 pureQuery 코드 생성을 선택하십시오.
|
pureQuery 사용 Java 프로젝트에서 SQL 스크립트에 있는 SQL문의 경우: |
- Java Perspective로 전환하십시오.
- SQL문을 포함하는 스크립트의 .sql 파일을 마우스 오른쪽 단추로 누른 후
pureQuery 코드 생성을 선택하십시오.
|
데이터 개발 프로젝트에서 SQL 스크립트에 있는 SQL문의 경우: |
- SQL 및 루틴 개발 Perspective로 전환하십시오.
- 프로젝트에서 SQL 스크립트를 펼치십시오.
- SQL문을 포함하는 스크립트를 마우스 오른쪽 단추로 누른 후 pureQuery 코드 생성을 선택하십시오.
|
파일 시스템에서 스크립트 파일에 있는 SQL문의 경우: |
- 를 선택하십시오.
- 새로 작성 마법사에서 데이터 노드를 펼치고
pureQuery 어노테이션이 있는 메소드 인터페이스를 선택한 후
다음을 누르십시오.
|
- pureQuery 코드 생성 페이지에서 정보를 지정한 후
다음을 누르십시오. 워크벤치의 SQL 스크립트에서 마법사를 연 경우
SQL문 페이지의 명령문 목록은
스크립트의 SQL문으로 채워집니다.
- 파일 시스템의 스크립트에서 SQL문을 임포트하려면 다음 단계를 수행하십시오.
- 파일의 SQL문이 사용하는 종단자를 지정하십시오.
- 임포트를 누른 후 스크립트 파일을
선택하십시오.
- 옵션: 변경하려는 이름을 더블 클릭한 후 새 이름을 입력하여
목록에서 Bean 또는 메소드 이름을 변경하십시오. Bean 이름을 변경하면 해당 메소드의 디폴트 이름이
새 Bean 이름으로 갱신됩니다.
- 옵션: SELECT문이 있으면 목록에서 SELECT문을 누른 후 세부사항을 눌러
생성할 Bean 정보를 검토하고 편집하십시오.
- 옵션: SQL CALL문이 있으면 목록에서 CALL문을 누른 후 세부사항을 눌러
생성된 메소드에서 사용할 사용자 정의 호출 핸들러를 검토하고 편집하십시오.
- 마법사의 단계를 완료하십시오. 마법사의 필드에 대한 정보를 보려면 F1을 누르십시오.
- 지정된 파일을 생성하려면 완료를 누르십시오.
결과
pureQuery 코드를 생성하면 워크벤치에서
데이터베이스 액세스에 사용할 수 있는 Bean을 작성합니다.
예를 들어 UPDATE문 또는 SELECT문에서 코드를 생성할 수 있습니다. SELECT문에서 코드를 생성하면 워크벤치가
쿼리 결과를 보유하기 위해 사용할 수 있는 Bean을 작성합니다.
조인 또는 통합을 야기하거나 계산된 컬럼을 포함하는 SELECT문에서 AS절을
사용하지 않는 경우, 쿼리 결과에는 고유하지 않은 이름을 가진 컬럼이 포함될 수 있습니다.
쿼리 결과를 나타내도록 Bean을 생성할 때 워크벤치가 이 문제점을 해결할 수 있는지는
응용프로그램이 사용하는 데이터베이스 유형에 따라 결정됩니다.
- Linux®, UNIX®
및 Windows®용 DB2®, z/OS®용 DB2, Informix® Dynamic Server: 워크벤치는
하나 이상의 다른 컬럼과 같은 이름을 가지고 있는 컬럼에 맵핑하는 특성의 @Column 어노테이션을 사용합니다.
예를 들어, 응용프로그램이 다음 단순 쿼리를 실행한다고 가정하십시오.
select a.col1, b.col1 from a, b where a.id=b.id;
쿼리 결과를
보유한 Bean의 해당 특성에 대한
set() 메소드에는 두 개의
id
컬럼이 나타나는 테이블의 이름을 제공하는
@Column 어노테이션이 필요합니다.
public class JoinExample{
private int a_id;
private int b_id;
@Column (name="id", table="a")
public void setA_id (int a_id)
{
this.a_id = a_id;
}
public int getA_id ()
{
return a_id;
}
@Column (name="id", table="b")
public void setB_id (int b_id)
{
this.b_id = b_id;
}
public int getB_id ()
{
return b_id;
}
}
- Oracle: 워크벤치는 문제가 있는 컬럼을 Bean의 특성에 맵핑하기 위해 @Column 어노테이션의 table 속성을 사용하지 않습니다.
다음 방법 중 하나를 사용하여 해당 컬럼을 맵핑해야 합니다.
- SELECT문의 AS절을 사용하여 쿼리 결과의 컬럼에 고유 이름을 지정하십시오.
- 이름이 아니고 색인 번호를 기준으로 하여 쿼리 결과의 컬럼에 대한 작업을
수행할 수 있는 RowHandler를 사용하십시오.
RowHandler
<ROW> 인터페이스를 참조하십시오.