Microsoft SQL Server电子邮件验证

Phi*_*enn 5 sql-server sql-server-2005

使用Microsoft SQL Server 2005及更高版本,我使用什么代码来验证电子邮件地址是否正确?
有电子邮件数据类型吗?
是否有电子邮件检查约束?
有电子邮件规则吗?
是否有电子邮件触发器?
是否有电子邮件验证存储过程?

Mit*_*eat 6

我通常不推荐使用CLR存储过程,但这很好用.SQL的字符串处理能力并不大,而在存储过程中使用CLR .NET正则表达式很简单,你可以使用许多现有的正则表达式模式之一,以满足您的需求(如一个这些).请参阅正则表达式使模式匹配和数据提取更容易

如果失败(某些DBA对启用CLR功能非常严格),也许这可能是有意义的:

在SQL Server中使用电子邮件地址

更新:响应注释中的问题:CLR存储过程是SQL Server实例内的数据库对象,该实例在Microsoft .NET Framework公共语言运行库(CLR)中创建的程序集中编程,例如Visual Basic或C#.

在SQL Server中创建CLR存储过程涉及以下步骤:

  • 将存储过程定义为.NET Framework支持的语言中的类的静态方法.有关如何对CLR存储过程进行编程的详细信息,请参阅CLR存储过程.然后,编译该类以使用适当的语言编译器在.NET Framework中构建程序集.

  • 使用CREATE ASSEMBLY语句在SQL Server中注册程序集.有关如何在SQL Server中使用程序集的详细信息,请参阅程序集.

  • 使用CREATE PROCEDURE语句创建引用已注册程序集的存储过程. 参考.

请参阅在C#中编写CLR存储过程 - C#简介(第1部分)