【发布时间】:2011-12-05 21:24:48
【问题描述】:
这个问题可能太简单了,但我确实需要帮助。
我正在 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 语句都可以正常工作。
我是不是做错了什么?
【问题讨论】:
标签: oracle function stored-procedures oracle10g