在SQL Server中调用电子邮件有效性函数

时间:2016-08-15 16:43:21

标签: sql-server

我有一个相当简单,基本的新手问题。我想在输入时验证电子邮件地址,因此我创建了(通过复制更好的思想)dbo.udf_ValidateEmail标量函数,但我不确定如何或在何处调用该函数。

理想情况下,我想使用Default Value或Binding属性,类似于我如何使用内置(getdate())函数自动填充InsertDate字段,但我不确定这是否是完成如果这是正确的方式,那就是预期的验证,甚至是正确的语法。

功能声明是:udf_ValidateEmail(@email varChar(255))

有人可以告诉我在哪里以及如何调用电子邮件验证功能?我特别想知道如何将电子邮件字段输入参数传递给函数的语法。我已经进行了广泛的搜索,并对这个特定的电子邮件验证主题进行了大量讨论,但实际的解决方案在哪里以及如何解决。 TIA。

  

修改<

如果我最初没有提供足够的信息,我表示歉意。希望这会有所帮助。

我想调用此函数来验证正确的电子邮件地址条目。

ALTER FUNCTION [dbo]。[udf_ValidateEmail](@email varChar(255))

RETURNS位 如 开始 返回 ( 选择     案件         当@Email为null时,0 --NULL Email无效         当charindex('',@ email)<> 0或 - 检查无效字符                 charindex('/',@ email)<> 0或 - 检查无效字符                 charindex(':',@ email)<> 0或 - 检查无效字符                 charindex(';',@ email)<> 0然后0 - 检查无效字符         当len(@Email)-1< = charindex('。',@ Email)然后0 - 检查字符串末尾的'%._'         当@Email像'%@%@%'或                 @Email不喜欢'%@%。%'然后0 - 检查重复@或格式无效         否则1     结束 ) 端

我想从Column属性的Default Value或Binding属性调用if。那有意义吗?如果没有,我应该在哪里打电话呢?

1 个答案:

答案 0 :(得分:0)

SQL没有内置数据输入模块。通常,INSERT语句本地或在由第三方代码(如.Net或PHP)调用的存储过程中添加数据。