Вопрос, наверное, слишком простой, но мне нужна помощь.
Я создаю хранимую процедуру в Oracle 10g, но не могу ее вызвать. Я использую SQL Developer для управления базой данных.
CREATE OR REPLACE
FUNCTION check_login
(username IN VARCHAR2, pwd IN VARCHAR2)
RETURN VARCHAR2
IS
isUserValid INTEGER;
BEGIN
SELECT Count(*) INTO isUserValid
FROM users
WHERE Username = username AND PASS_WORD = pwd;
return isUserValid;
END;
Я тоже пробовал это:
CREATE OR REPLACE
PROCEDURE check_login
(username IN VARCHAR2, pwd IN VARCHAR2, RESULT OUT INTEGER)
IS
isUserValid INTEGER;
BEGIN
SELECT Count(*) INTO isUserValid
FROM users
WHERE Username = username AND PASS_WORD = pwd;
RESULT := isUserValid;
END;
Анализ обоих не выдает сообщений об ошибках. Я использовал следующий синтаксис для их вызова:
BEGIN
check_login('admin', 'admin');
END;
И
EXECUTE check_login('admin', 'admin');
Я получаю это сообщение об ошибке ....
PLS-00221: 'CHECK_LOGIN' не является процедурой или не определен
PL / SQL: Оператор игнорируется
Оператор SELECT внутри обоих работает нормально, если выполняется напрямую.
Я что-то делаю не так?