단일 SQL문에서 pureQuery 코드를 생성할 수 있습니다. 명령문은
Java 코드의 SQL 문자열이나 단일 SQL문을
포함하는 SQL 스크립트 또는 SQL 스크립트의 파트가 될 수 있습니다.
이 태스크 정보
Java Perspective의 pureQuery 사용 Java 프로젝트와
SQL 및 루틴 개발 Perspective의 데이터 개발 프로젝트에 있는
SQL 스크립트에 대해 작업할 수 있습니다. 또한 SQL 및 XQuery 편집기로 열린 스크립트에서
작업할 수도 있습니다.
이 프로세스를 사용하여 유효한 SELECT, INSERT,
UPDATE, DELETE 또는 CALL문에서만 pureQuery 코드를 생성할 수 있습니다. SQL문의
JDBC prepareStatement() 메소드로 인해 오류가 발생하면 메시지 상자에는
리턴되는 오류 메시지가 표시됩니다.
두
개 이상의 SQL문에서 코드를 생성하려는 경우,
다중
SQL문에서 pureQuery 코드 생성을 참조하십시오.
프로시저
단일
SQL문에서 pureQuery 코드를 생성하려면 다음을 수행하십시오.
- 다음 단계 세트 중 하나를 수행하여 SQL문에서 pureQuery 코드 생성 마법사를
여십시오.
옵션 |
설명 |
Java 코드에서 SQL 문자열의 경우: |
- Java Perspective로 전환하십시오.
- Java 편집기로 SQL 문자열을 포함하는 .java 파일을 여십시오.
- 편집기에서 SELECT, INSERT, UPDATE, DELETE 또는 CALL문의 StringLiteral 내에 텍스트 커서를 놓은 후 마우스 오른쪽 단추를 클릭하고 pureQuery 코드 생성을 선택하십시오.
대신 테이블에서 pureQuery 코드 생성 마법사가
열리는 경우는 텍스트 커서가 StringLiteral에 있지 않거나 텍스트 커서가 특정 유형의 SQL문 중 하나에
있지 않는 경우입니다.
|
SQL 및 XQuery 편집기로 열린 SQL 스크립트에 있는 SQL문의 경우: |
- 편집기에서 전체 SELECT, INSERT, UPDATE, DELETE 또는 CALL문을 선택하십시오.
- 선택한 명령문을 마우스 오른쪽 단추로 클릭한 후 pureQuery
코드 생성을 선택하십시오.
|
pureQuery 사용 Java 프로젝트에서 SQL 스크립트에 있는 SQL문의 경우: |
- Java Perspective로 전환하십시오.
- 하나의 SQL SELECT, INSERT, UPDATE, DELETE 또는 CALL문을 포함하는
.sql 파일을 마우스 오른쪽 단추로 클릭한 후 pureQuery
코드 생성을 선택하십시오.
|
데이터 개발 프로젝트에서 SQL 스크립트에 있는 SQL문의 경우: |
- SQL 및 루틴 개발 Perspective로 전환하십시오.
- 프로젝트에서 SQL 스크립트를 펼치십시오.
- 하나의 SQL SELECT, INSERT, UPDATE,
DELETE 또는 CALL문을 포함하는 스크립트를 마우스 오른쪽 단추로 클릭한 후 pureQuery 코드 생성을 선택하십시오.
|
마법사가 열리지 않고 메시지 상자가 표시되면
오류 메시지를 검토하여 SQL문이 유효하지 않은 이유를 판별하십시오.
- 마법사의 단계를 완료하십시오. 마법사의 필드에 대한 정보를 보려면 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> 인터페이스를 참조하십시오.