有人可以帮我把我的pl / sql过程放在一个包中吗?我已经尝试过并且正在努力:
这是我的包裹规格说明:
CREATE OR REPLACE PACKAGE film_pkg
IS
title VARCHAR2(100);
PROCEDURE get_films(fname VARCHAR2);
END film_pkg;
--
这是我遇到问题的程序包主体:
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;
如果有人可以帮助我修复错误,我将不胜感激:
Error(4,11): PLS-00323: subprogram or cursor 'GET_FILMS' is declared in a package specification and must be defined in the package body
您的标头和正文过程定义不匹配
在标题中,您具有:
PROCEDURE get_films(fname VARCHAR2);
而在体内:
PROCEDURE get_films(fname IN film.title%type,
r_date OUT film.release_date%type, dur OUT film.duration%type)
您可能只需要使用另外两个OUT参数来更新标头定义?
总结
film.title%type
)与基本类型(VARCHAR2
)混合和匹配。选择一个或另一个。所以我一直有这个错误,我不知道发生了什么。我在谷歌上搜索了一下,读了一些关于这个错误的问题,但什么都没用。我只想运行它,这样我就可以完成我的项目。 错误:开始低库存;结束;*第1行错误:ORA-06550:第1行,第9列:PLS-00201:标识符“LOWINVENTORY”必须声明ORA-06550:第1行,第7列:PL/SQL:忽略语句 编辑: 表创建:
作为标题,我正在Oracle上编写一些存储过程,首先我检查了版本 有结果 ... 并尝试NVL2与常规SQL查询 结果似乎是对的 ... 所以我确认11g确实支持NLV2功能,我现在可以开始编写我的存储过程,如下所示: Oracle告诉我它编译有错误,即 PLS-00201:必须声明标识符“NVL2” 为什么函数在常规查询中工作,但在存储过程中变得未声明?
安装在CentOS 8上。 已尝试两者 Oracle Database Express Edition (XE) 企业版 从这里 https://www.oracle.com/database/technologies/oracle-database-software-downloads.html ords.warhttps://www.oracle.com/database/technologi
我正在使用SODA for Java存储和检索Oracle12c DB中的文档。我正在效仿这个例子。 这一例外背后的原因将是什么?
这是我的程序:
问题内容: 我需要在Java Swing应用程序中使用自定义字体(ttf)。如何将它们添加到包装中并使用它们? 同时,我只是将它们安装在Windows中然后使用它们,但是我不希望应用程序的使用如此复杂,告诉用户在使用我的应用程序之前安装字体不是很方便。 问题答案: 您可以通过加载它们: 此加载的字体没有预定义的字体设置,因此要使用该字体,您必须这样做: 看到: 物理和逻辑字体