【发布时间】:2020-08-06 00:09:33
【问题描述】:
我已经创建了这个函数并且它可以工作:
create or replace function log_in(
p_ssnr in customer.ssnr%type,
p_password in customer.password%type)
return number
as
v_number number(1);
begin
if
(p_ssnr is not null and p_password is not null) then
v_number:= 1;
else
v_number:= 0;
end if;
return v_number;
end;
如果我接着输入: select log_in('social security number','the password') from dual;然后我得到一个“1” 所以它有效。但是你基本上可以输入你想要的任何东西,它会工作,所以它不是一个干净的代码。由于您不能在 if 语句中包含子查询,那么如何创建函数以便在您实际输入社会保险号 (ssnr) 和与实际客户表匹配的密码时只返回 1?否则返回 0?
【问题讨论】: