Sravani N Ответов: 1

Я пытаюсь выполнить нижеприведенную хранимую процедуру и получаю ошибку "неправильное число или типы аргументов в вызове SPGETTREEVIEWITEMS1"


Хранимая процедура успешно компилируется, но получает ошибку при попытке ее выполнения

Код для создания хранимой процедуры:


CREATE OR REPLACE PROCEDURE spGetTreeViewItems1
(p_spGetTreeViewItems OUT SYS_REFCURSOR, firstParam string)
is
Begin
open p_spGetTreeViewItems for
Select * from TREEVIEW;
End spGetTreeViewItems1;


Исполнение:

Попробуйте 1:

set serveroutput on;
variable rc refcursor, fn fstname
exec spGetTreeViewItems1( :rc );
print rc, fn;

Try 2:
execute spGetTreeViewItems1;


Что я уже пробовал:

Я пытаюсь скомпилировать и выполнить хранимую процедуру

1 Ответов

Рейтинг:
1

Richard Deeming

Вы объявили хранимую процедуру, которая принимает два параметра.

Вы пытаетесь назвать это передачей одного параметра.

Ваша вторая попытка пытается назвать это передачей нулевых параметров.

Сообщение об ошибке является правильным: Вы передаете неправильное количество аргументов.


Sravani N

Спасибо, Ричард, что ответил на мой вопрос.
Не могли бы вы помочь мне, как вызвать процедуру передачи 2 параметров в моем коде?

Richard Deeming

Я не слишком хорошо знаком с Oracle, но, по-моему, что-то вроде этого:

exec spGetTreeViewItems1( :rc, :fn );

Sravani N

Это дает мне ниже ошибку

Привязка переменной "fn" не объявляется
анонимный блок завершен

Sravani N

Может ли кто-нибудь помочь мне выполнить мою хранимую процедуру с 2 параметрами

Richard Deeming

set serveroutput on;
variable rc refcursor, fn string;
exec spGetTreeViewItems1( :rc, :fn );
print rc, fn;

Sravani N

Привет, Ричард, Спасибо, что ответил на мой вопрос.

Я вижу эту ошибку во время выполнения sp

Использование ВАР[IABLE] &ЛТ;переменная&ГТ; [номер | буква|буква (Н [символ|байт])]
VARCHAR2 (n[CHAR|BYTE]) | NCHAR 9n0 | NVATCHAR2 (n) | CLOB | NLOB | REFCURSOR | BINARY_FLOAT | BINARY_DOUBLE]]

Привязка переменной "rc не объявлена
анонимный блок завершен
Привязка переменной "RC" в not declared
Привязка переменной "FN" не объявляется