gpt4 book ai didi

oracle - 如何在包中调用 Oracle 过程?

转载 作者:行者123 更新时间:2023-12-02 07:05:50 24 4
gpt4 key购买 nike

我正在尝试在包中调用 Oracle 存储过程,但出现以下错误:SQL 错误:ORA-06576:不是有效的函数或过程名称

我正在使用 SQL Developer,这是我正在使用的命令

call WEATHERDATAUPDATES.GetLastRunDate("WeatherData")

这是包装/程序

PACKAGE BODY WEATHERDATAUPDATES AS

PROCEDURE GetLastRunDate(PROCESS IN VARCHAR2, RUNDATE OUT DATE) AS
BEGIN
SELECT rundate FROM Marcie.last_rundate
where process = PROCESS;
END GetLastRunDate;

END WEATHERDATAUPDATES;

我对 Oracle 软件包还很陌生,不确定我缺少什么。我尝试搜索,但找不到有效的答案。谁能告诉我我错过了什么?

谢谢,玛西

最佳答案

在您的程序中,您没有将检索到的值放在任何地方,您应该使用 INTO:

...    
PROCEDURE GetLastRunDate(PROCESS IN VARCHAR2, RUNDATE OUT DATE) AS
BEGIN
SELECT rundate
INTO RUNDATE
FROM Marcie.last_rundate
where process = PROCESS;
END GetLastRunDate;
...

在调用中为输出参数RUNDATE OUT DATE传递变量。

将调用放在 PL/SQL block 中:

DECLARE
lastRunDate DATE;
BEGIN
WEATHERDATAUPDATES.GetLastRunDate("WeatherData",lastRunDate);
-- do something with lastRunDate
END;

关于oracle - 如何在包中调用 Oracle 过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12143798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com