Frage zu procedures unter Oracle 8.i

hi

ich habe gerade folgendes versucht

->

CREATE OR REPLACE PROCEDURE „DARNEST“.„FAILED_JOBS“ as

begin

select * from sys.dba_jobs;
–insert into darnest.test (job_id) select job from sys.dba_jobs where failures > 0;

end;

Weil das Select ins leere laufen würde.

Du kannst ein Insert aufrufen oder eine
SELECT feld INTO lokale_variable

aber kein einfaches Select. Das ist bei Oracle anders.

Bye
Nic

ok aber
->
CREATE OR REPLACE PROCEDURE „DARNEST“.„FAILED_JOBS“ as
tmp number;
begin
select max(job) into tmp from sys.dba_jobs;
end;

insert into darnest.test (job_id) select job from sys.dba_jobs where failures > 0;

CREATE OR REPLACE PROCEDURE „DARNEST“.„FAILED_JOBS“ as
as
tmp number;
begin
tmp := 1;
end;
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Darnest!

Deine Infos sind etwas dürftig, wenn du uns bekannt gäbest WAS nicht funktioniert müssten wir nicht wild drauf los raten.

SELECT feld INTO lokale_variable

Das ist schon mal richtig.

select max(job) into tmp from sys.dba_jobs;
funktioniert genauso wenig
auch wenn ich das select durch folgende insert anweisung
ersetze kompiliert es nicht
->
insert into darnest.test (job_id) select job from sys.dba_jobs
where failures > 0;

CREATE OR REPLACE PROCEDURE „DARNEST“.„FAILED_JOBS“ as
as
tmp number;
begin
tmp := 1;
end;