Birisi pl/sql yordamımı pakete koymama yardımcı olabilir mi? Denedim ve onunla mücadele ediyorum:Oracle Error PLS-00323: alt program veya imleç bir paket belirtiminde bildirilmiş ve paket gövdesinde tanımlanmalıdır
CREATE OR REPLACE PACKAGE BODY film_pkg
IS
PROCEDURE get_films (fname IN film.title%TYPE,
r_date OUT film.release_date%TYPE,
dur OUT film.duration%TYPE)
AS
BEGIN
SELECT release_date, duration
INTO r_date, dur
FROM FILM
WHERE title = fname;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
r_date := '';
dur := '';
END get_films;
END film_pkg;
: Bu im sorunlarla çalışan paketim vücut
CREATE OR REPLACE PACKAGE film_pkg
IS
title VARCHAR2(100);
PROCEDURE get_films(fname VARCHAR2);
END film_pkg;
--
geçerli: Bu benim paket şartname için, ne var
herkes bana hataları düzeltmek yardımcı olabilir
i çok memnun olurum:
Error(4,11): PLS-00323: subprogram or cursor 'GET_FILMS' is declared in a package specification and must be defined in the package body
Bunu denediğimde pkg gövdesindeki hatayı aldım: Hata (4,11): PLS-00323: alt program veya imleç 'GET_FILMS' bir paket belirtiminde bildirilmiş ve paket gövdesinde tanımlanmalıdır – SqlNoob
@SqlNoob - '% type' iyidir, ancak tam olarak aynı bildirimi kullanmak zorundasınız, aynı olduklarını bilseler bile karıştırıp eşleştiremezsiniz; filmin fname IN türünü yaptınız.% 'title title' veya 'varchar' olarak mı bırakılsın? Bütün deklarasyonun aynı olması gerekiyor. (Ve bir parametrenin boyutunu belirtemezsiniz, bu yüzden varchar2 (50 bayt) 'bir hataya neden olur). –