可能是太簡單的問題,但我確實需要幫助。無法調用oracle存儲過程和函數
我在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語句都可以正常工作。
我做錯了什麼?
謝謝約瑟夫!這工作。現在,如何只將三行縮小到一行,以便可以使用** oci_execute()**從一行中的PHP代碼調用它。 –
你提到的第二塊,但只顯示**匿名塊完成**。不返回一個值。 –