Sql 验证表中记录的最佳方法
我必须编写一个存储过程来验证客户名称 有一个案例,客户的姓氏Miller被插入到每一条记录中。因此,我必须创建一个存储过程,以确保是否再次发生。此存储过程将捕获此问题并引发该问题Sql 验证表中记录的最佳方法,sql,stored-procedures,Sql,Stored Procedures,我必须编写一个存储过程来验证客户名称 有一个案例,客户的姓氏Miller被插入到每一条记录中。因此,我必须创建一个存储过程,以确保是否再次发生。此存储过程将捕获此问题并引发该问题 如果有可能的话,我不知道如何处理这个问题。有什么想法吗?通常,对于这样的验证,您会寻找您认为有问题的模式,例如,名字和姓氏相同,名字只有一个字母首字母,等等 但请注意,这些标记应仅用于标记审查/潜在更新,而不是自动拒绝/删除。例如,我认识一个叫“Joy Joy”的人,当他们结婚时,他们采用的姓氏不幸与他们的名字匹配 因
如果有可能的话,我不知道如何处理这个问题。有什么想法吗?通常,对于这样的验证,您会寻找您认为有问题的模式,例如,名字和姓氏相同,名字只有一个字母首字母,等等 但请注意,这些标记应仅用于标记审查/潜在更新,而不是自动拒绝/删除。例如,我认识一个叫“Joy Joy”的人,当他们结婚时,他们采用的姓氏不幸与他们的名字匹配 因此,从根本上说,您需要确定要查找的模式,然后将它们编码到存储过程中。没有现成的流程可以帮助你做到这一点
理想情况下,存储过程将用于帮助识别问题,然后将有用的模式传输到面向客户端的代码中,以在输入数据库之前验证数据。通常对于这样的验证,您会查找已识别为有问题的模式,例如,名字和姓氏相同,名字只有一个字符,如首字母等 但请注意,这些标记应仅用于标记审查/潜在更新,而不是自动拒绝/删除。例如,我认识一个叫“Joy Joy”的人,当他们结婚时,他们采用的姓氏不幸与他们的名字匹配 因此,从根本上说,您需要确定要查找的模式,然后将它们编码到存储过程中。没有现成的流程可以帮助你做到这一点
理想情况下,存储过程将用于帮助识别问题,然后将有用的模式传输到面向客户机的代码中,以便在输入数据库之前验证数据。最好的方法是清除旧数据并在名称列上添加检查约束。作为一种解决方法,您可以使用触发器,但一般来说性能较差。如果DBMS支持此功能,另一种解决旧名称问题的方法是添加计算列,在该列中只显示新名称或良好的旧名称,并在该列上添加检查约束
但是名称验证是不真实的,这是故意的。最好的方法是清除旧数据并在名称列上添加检查约束。作为一种解决方法,您可以使用触发器,但一般来说性能较差。如果DBMS支持此功能,另一种解决旧名称问题的方法是添加计算列,在该列中只显示新名称或良好的旧名称,并在该列上添加检查约束
但是名字验证是不真实的,有故意的。你怎么知道这不是正确的姓氏?据我所知,名称可以是任何东西,创建名称验证程序几乎是不可能的。就像有些人没有姓一样!!有些名称中包含2字节字符。基本上,名称是一个自由文本。验证不是正确的做法。有趣的事实:世界上有超过10万个阿披舍克,所以你也不能排除他们:-你怎么知道那不是正确的姓氏?据我所知,名称可以是任何东西,创建名称验证程序几乎是不可能的。就像有些人没有姓一样!!有些名称中包含2字节字符。基本上,名称是一个自由文本。验证不是正确的做法。有趣的事实:世界上有超过10万个阿披舍克,所以你也不能排除他们:-我必须想一个最好的方式来写模式,它应该是旗帜,并发送给验证。我必须想一个最好的方式来写模式,它应该是旗帜,并发送给验证。