Natknąłem się na te oświadczenia, które mają być uruchamiane w Oracle, jednak nie jestem pewien, jak te oświadczenia powinny być uruchamiane. Próbowałem uruchomić je jako SQL, ale nie działa.
variable output1 NUMBER;
variable output2 VARCHAR2(100);
exec rp_orader_closure_pxkg.rp_exaec_close_SILvl_WKO('aaa',
'1',
'10aaa001a6414339',
:output1, :output2);
3 odpowiedzi
Nie jestem pewien, czy wszystkie polecenia SQLPlus działają w programie SQL Developer. Z pewnością możesz to zrobić w anonimowym bloku:
DECLARE
output1 NUMBER;
output2 VARCHAR2(100);
BEGIN
rp_orader_closure_pxkg.rp_exaec_close_SILvl_WKO('aaa', '1',
'10aaa001a6414339', output1, output2);
END;
U mnie działa dobrze, SQL Developer v3.0.04. W oknie skryptu wpisuję:
create or replace package p as
procedure prc (p1 in varchar2, p2 in out varchar2);
end;
/
create or replace package body p as
procedure prc (p1 in varchar2, p2 in out varchar2) is
begin
p2 := p1;
end prc;
end;
/
variable output2 VARCHAR2(100);
exec p.prc('aaa',:output2);
print output2;
W oknie wyjściowym skryptu:
PACKAGE p compiled
PACKAGE BODY p compiled
anonymous block completed
OUTPUT2
---
aaa
Może czegoś mi brakuje?
Po prostu zgub pierwsze dwie linie i wykonaj tylko linię z exec
na początku. Programista SQL poprosi Cię o wartości zmiennych. Po prostu zostaw je NULL
, ponieważ są to parametry wyjściowe.
Podobne pytania
Nowe pytania
sql
Structured Query Language (SQL) to język służący do wykonywania zapytań w bazach danych. Pytania powinny zawierać przykłady kodu, strukturę tabeli, przykładowe dane i znacznik używanej implementacji DBMS (np. MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 itp.). Jeśli Twoje pytanie dotyczy wyłącznie konkretnego DBMS (używa określonych rozszerzeń / funkcji), użyj zamiast tego tagu tego DBMS. Odpowiedzi na pytania oznaczone tagiem SQL powinny używać standardu SQL ISO / IEC.