有人可以帮我把我的pl/sql程序放在一个包中吗?我试过了,我正在努力:
这就是我的包装规格:
CREATE OR REPLACE PACKAGE film_pkg
IS
title VARCHAR2(100);
PROCEDURE get_films(fname VARCHAR2);
END film_pkg;
--
Run Code Online (Sandbox Code Playgroud)
这是我的包体,我遇到了问题:
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;
Run Code Online (Sandbox Code Playgroud)
如果有人可以帮我修复错误,我会很感激:
Error(4,11): PLS-00323: subprogram or cursor 'GET_FILMS' is declared in a package specification and must be defined …Run Code Online (Sandbox Code Playgroud) 所以我有一个功能可以检查我的预订表中有多少取消:
CREATE OR REPLACE FUNCTION total_cancellations
RETURN number IS
t_canc number := 0;
BEGIN
SELECT count(*) into t_canc
FROM booking where status = 'CANCELLED';
RETURN t_canc;
END;
/
Run Code Online (Sandbox Code Playgroud)
要在sql中执行他,我使用:
set serveroutput on
DECLARE
c number;
BEGIN
c := total_cancellations();
dbms_output.put_line('Total no. of Cancellations: ' || c);
END;
/
Run Code Online (Sandbox Code Playgroud)
我的结果是:
anonymous block completed
Total no. of Cancellations: 1
Run Code Online (Sandbox Code Playgroud)
我的问题是有人可以帮我调用JAVA中的函数,我试过但没有运气.