用oracle创建存储过程,判断传入的用户名和密码是否正确。(用两个参数)
时间: 2024-03-12 21:42:55 浏览: 20
可以使用以下代码来创建一个用于判断用户名和密码是否正确的存储过程:
```sql
CREATE OR REPLACE PROCEDURE check_login(
p_username IN VARCHAR2,
p_password IN VARCHAR2,
p_result OUT VARCHAR2
) AS
v_count NUMBER;
BEGIN
SELECT COUNT(*) INTO v_count
FROM users
WHERE username = p_username
AND password = p_password;
IF v_count > 0 THEN
p_result := 'SUCCESS';
ELSE
p_result := 'FAILURE';
END IF;
END;
```
在这个存储过程中,我们传入两个参数 `p_username` 和 `p_password`,以及一个输出参数 `p_result`。存储过程会查询 `users` 表,查看是否有匹配的记录。如果有,则将输出参数设置为 `SUCCESS`,否则设置为 `FAILURE`。可以通过调用该存储过程并传入参数来检查用户名和密码是否正确:
```sql
DECLARE
v_result VARCHAR2(10);
BEGIN
check_login('myusername', 'mypassword', v_result);
DBMS_OUTPUT.PUT_LINE(v_result);
END;
```
在这个示例中,我们将传入用户名和密码作为参数,并将输出结果存储在 `v_result` 变量中。然后通过 `DBMS_OUTPUT.PUT_LINE` 函数将结果输出到控制台。