ODP.Net에서 select 문으로 끝나는 여러 쿼리를 실행할 수 있기를 원합니다. 나는 비우고, 테이블에서 선택하고 그리고 새롭게하고있다. 예를 들어ODP.Net을 사용하여 Oracle에서 다중 쿼리 실행
:
BEGIN
DELETE FROM StagingTable;
INSERT INTO StagingTable (Col1,Col2,Col3)
SELECT Value1,Value2,Value3
FROM MainTable;
UPDATE StagingTable
SET Col1 = FUNCTION(Col1);
END;
/
SELECT * FROM StagingTable;
이 있지만, SQL Developer에서 작동하지 ODP.Net. 이 오류 얻을 :
ORA-06550: line 26, column 1: PLS-00103: Encountered the symbol "/"
을하지만이를 제거하면/나는 얻을 :
ORA-06550: line 27, column 1: PLS-00103: Encountered the symbol "SELECT"
내가도 가능하고 싶은 무엇인가? 나는 패키지를 만들고 유형을 만드는 등의 일을하고 싶지 않습니다. 이상 적으로 나는 .Net을 통해 이것을하고 싶다.
이렇게하면 안됩니다. 저장 프로 시저에 모든 것을 넣고 선택을 커서로 반환하거나 두 번의 실행으로 나눕니다. – OldProgrammer
OldProgrammer가 제시 하듯이, SQL Developer 및 유사한 도구에는 괜찮지 만 프로그램 인터페이스에는 적합하지 않은 SQL * Plus 구문 (백 슬래시)을 사용하고 있습니다. 바인드 변수를 사용하여 ODP.NET에서 익명의 PLSQL을 호출 할 수 있습니다. 모든 것을 하나의 익명 PL/SQL 블록에 넣고 끝에 REF CURSOR에 바인딩 할 수 있습니다. 그런 다음 가져 오십시오. –
다음은 odp.net에서 익명의 plsql 블록을 호출 한 후 참조 커서에 바인딩하는 예제 코드입니다. http://www.oracle.com/partners/campaign/o16odpnet-087852.html –