2012-11-08 2 views
1

저장 프로 시저가있는 HSQL 2.x 데이터베이스가 있습니다. 이 프로시 저는 실행하려는 동적 SQL 문자열을 생성합니다. 오라클에서는 즉시 실행 명령을 사용하여이 작업을 수행합니다. 나는 HSQLDB에 상응하는 것을 찾기가 힘들다. 누군가 도와 주실 수 있습니까?hsqldb에 대해 즉시 실행

+0

? 예를 들어 어떤 프로그램을 통해 HSQL에 전화하는 경우. 자바 그럼 당신은 자바 측면에서 쿼리를 구성하고 그것을 실행할 수 있습니다. 괜찮을거야? –

+0

응용 프로그램이 다른 DBMS 맛을 상대로 작동하도록되어 있습니다. 저장 프로시 저는 대량 동기화 작업 (최대 절전 모드에 의존 할 수 없음)을 실행 중입니다. 따라서 Java 내에서 SQL을 생성하는 것은 선택 사항이 아닙니다. – Jack

답변

0

HSQLDB는 SQL/PSM 언어 루틴 내에서 동적 SQL을 직접 지원하지 않습니다.

이 작업을 수행하는 방법은 SQL 저장 프로 시저에서 호출 된 Java 저장 프로 시저로 SQL 문자열을 실행하는 것입니다.

Java 저장 프로시 듀어에는 SQL 문인 String (VARCHAR) 인수가 있습니다. jdbc:default:connection을 사용하여 JDBC 문을 작성하고 String 인수에 전달 된 SQL을 실행합니다.

SQL 프로시 듀어는 다음과 같이 보일 수 있습니다 :

CREATE PROCEDURE SQL_SP(...) LANGUAGE SQL ... BEGIN ATOMIC 
    DECLARE SQL_STRING VARCHAR(1000); 
    -- sql is generated here 

    CALL JAVA_SP(SQL_STRING);  
    END 
달성하려는 정확히 무엇