2010-02-16 3 views
1

현재 웹 기반 응용 프로그램 용 SQL 명령 줄 인터페이스를 만들고 있습니다. 그것은 sqlPlus와 비슷한 방식으로 작동해야합니다. sql을 실행하는 방법에 문제가 있습니다. SQL과 PL/SQL 모두 가능합니다.웹 인터페이스를 통해 Java에서 동적 SQL 및 pl/sql 실행

첫 번째 방법은 (';'또는 '; /'로) 분리하여 SQL 선택 또는 삭제/업데이트/삽입 또는 pl/sql 인 경우 별도로 감지 할 수 있다고 생각합니다.

이제 Regexp를 만들기 위해 PL/SQL Backus-Naur Form을 찾을 수 없습니다. 더 쉬운 방법이있을 수 있습니까?

일반적으로 이러한 논리를 만드는 가장 좋은 방법은 무엇입니까?

TIA는

답변

0

SQL 문을 분리하기 위해 regexp를 사용하고 SQL 스크립트에서 PLSQL을 사용하는 것은 거의 불가능합니다.

declare 
begin 
select sysdate from dual; 

dbms.output('hello'); 
end; 
/

regexp를 사용하여 이러한 간단한 PLSQL 코드를 인식하는 방법에 대한 아이디어가 있습니까? A SQL Parser이 도움이 될 수 있습니다. 여기에 an article이 있습니다.