如何在变量中存储 select 语句 return 值
how to store a select statement return value in a variable
if select语句执行成功 returns 1 else 0 right
不是我想将该 return 值存储在一个变量中,以便我可以进一步使用该变量 sql
set serveroutput on
declare
a number;
begin
a:=select instr('&email','@') as email_in from dual;
if(a)
then
dbms_output.put_line('Valid Email');
else
dbms_output.put_line('Please Enter a valid Email');
end if;
end;
这里我正在尝试的是,如果用户输入的电子邮件包含@,则 select 查询成功执行并且@在该字符串中的 return 位置,否则它将给出 0
但它给了我一个错误,任何人都可以帮助我...
提前谢谢你..
我想你想表达为:
select (case when instr('&email', '@') > 0 then 1 else 0 end)
into a
from dual;
if (a = 1) then
dbms_output.put_line('Valid Email');
else
dbms_output.put_line('Please Enter a valid Email');
end if;
您不需要 select
用于此目的,但我将其保留。我
或者,只需执行:
if ('&email' like '%@%') then
dbms_output.put_line('Valid Email');
else
dbms_output.put_line('Please Enter a valid Email');
end if;
注意:电子邮件的有效性检查应该涉及的不仅仅是 at 符号。
简单写一个函数来验证电子邮件
它将 return 0 如果没有 @ 和 @ 的位置,如果它在那里。
create or replace function check_email(ip_emailid varchar2)
return number
is
begin
return instr(ip_emailid,'@');
end;
if select语句执行成功 returns 1 else 0 right 不是我想将该 return 值存储在一个变量中,以便我可以进一步使用该变量 sql
set serveroutput on
declare
a number;
begin
a:=select instr('&email','@') as email_in from dual;
if(a)
then
dbms_output.put_line('Valid Email');
else
dbms_output.put_line('Please Enter a valid Email');
end if;
end;
这里我正在尝试的是,如果用户输入的电子邮件包含@,则 select 查询成功执行并且@在该字符串中的 return 位置,否则它将给出 0
但它给了我一个错误,任何人都可以帮助我...
提前谢谢你..
我想你想表达为:
select (case when instr('&email', '@') > 0 then 1 else 0 end)
into a
from dual;
if (a = 1) then
dbms_output.put_line('Valid Email');
else
dbms_output.put_line('Please Enter a valid Email');
end if;
您不需要 select
用于此目的,但我将其保留。我
或者,只需执行:
if ('&email' like '%@%') then
dbms_output.put_line('Valid Email');
else
dbms_output.put_line('Please Enter a valid Email');
end if;
注意:电子邮件的有效性检查应该涉及的不仅仅是 at 符号。
简单写一个函数来验证电子邮件 它将 return 0 如果没有 @ 和 @ 的位置,如果它在那里。
create or replace function check_email(ip_emailid varchar2)
return number
is
begin
return instr(ip_emailid,'@');
end;