我有一个相当简单,基本的新手问题。我想在输入时验证电子邮件地址,因此我创建了(通过复制更好的思想)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。那有意义吗?如果没有,我应该在哪里打电话呢?
答案 0 :(得分:0)
SQL没有内置数据输入模块。通常,INSERT语句本地或在由第三方代码(如.Net或PHP)调用的存储过程中添加数据。