sql - 当我尝试创建 log_in 函数时?为什么我有错误 Error(3,10): PLS-00215: String length constraint must be in range (1 .. 32767)
问题描述
我正在尝试创建一个函数来验证 log_in,如果登录失败,则返回 0(零),如果登录成功,则通过将 cust_id 和 Passwd 作为参数匹配,我有两个问题:
- 为什么我收到错误错误绑定 p_cust_id?
- 失败时如何返回0?
.
create or replace function log_in
(
p_cust_id varchar2,
p_paswd varchar2
) return number
as p_all varchar2;
begin
select cust_id,passwd
into p_all
from customer
where cust_id=p_cust_id and passwd=p_paswd;
return 1;
end;
解决方案
首先,您尝试选择 2 列,但选择 1 个变量。这是不可能的。在下面检查我的修复
select cust_id,passwd
into variable1, variable2
from customer
where cust_id=p_cust_id and passwd=p_paswd;
对于您的第二个要求,您需要在结束之前添加以下行。
EXCEPTION WHEN NO_DATA_FOUND THEN
return 0;
END;
编辑
您的过程也可以重写为
CREATE OR REPLACE FUNCTION LOG_IN
(
P_CUST_ID VARCHAR2,
P_PASWD VARCHAR2
) RETURN NUMBER
AS P_COUNT NUMBER;
BEGIN
SELECT COUNT(*)
INTO P_COUNT
FROM CUSTOMER
WHERE CUST_ID=P_CUST_ID AND PASSWD=P_PASWD;
IF (P_COUNT > 0)
RETURN 1;
END IF;
RETURN 0;
END;
推荐阅读
- c - 如何在不违反 MISRA 规则的情况下将位域变量分配给 uint8_t 变量?
- javascript - Javascript中带有值参数的HTML Google图表
- ios - INUIAddVoiceShortcutButton 的文本被截断
- laravel - Laravel 默认认证登录请求
- python - 有助于 Flask 分页
- javascript - 在 moch 单元测试文件中重置 module.exports 对象
- javascript - 字符串操作,删除字符直到在 java 脚本中第二次出现
- node.js - 如何在node-rdkafka中一一读取消息
- javascript - 每次单击时更改按钮颜色 [Javascript]
- c# - 如何在 Automapper 中从源代码制作部分地图