我正在创建一个存储过程,用于检查用户是否正在保存的电子邮件(编辑个人资料电子邮件),以检查数据库中是否已存在其他用户的新电子邮件。如果数据库中不存在输入的电子邮件,则可以安全使用和保存,但如果数据库中存在该电子邮件,并且用户 ID 和名称与保存者的用户 ID 和名称不匹配,则意味着新电子邮件属于其他用户返回 false,我将用它来抛出错误消息
这是我所拥有的:
create procedure CheckDuplicate
@email nvarchar(256),
@Id int
As
Begin
set nocount on;
select usr.Id, usr.UserName, usr.Email
from Users usr
where usr.Email = @email and usr.Id = @Id
end
问题:如何添加 bool 来检查数据库中是否存在?
最佳答案
试试这个:
create procedure CheckDuplicate
@email nvarchar(256),
@Id int
As
Begin
set nocount on;
Select Case When Exists (
select usr.Id, usr.UserName, usr.Email
from Users usr
where usr.Email = @email and usr.Id = @Id
)
Then Cast(1 as bit)
Else Cast(0 as bit)
End
End
关于sql-server - 返回 bool 的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18747381/