Может быть, слишком простой вопрос спросить, но мне нужна помощь.
Я создаю хранимую процедуру в 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" не является процедурой или является undefined
PL/SQL: выражение игнорируется
Оператор SELECT внутри обоих работает отлично, если он выполняется напрямую.
Я что-то делаю неправильно?