重复检查存储过程与代码

时间:2014-05-29 14:15:33

标签: c# sql-server stored-procedures

创建新用户名时,我必须检查重复的用户名。

我有两个选择

  1. 使用返回true或false的参数IsDuplicateUserName创建存储过程username
  2. 如果用户名计数大于0,则从存储过程和c#中返回用户名的计数,然后在C#代码中返回true。
  3. 哪一种方法更好?

    提前致谢,

1 个答案:

答案 0 :(得分:5)

如果您在创建用户之前的任何时候进行检查,则无法保证在此期间尚未创建用户名 - 您可能会创建竞争条件"

您应该保证用户名唯一性的方式是使用唯一索引/约束。

如果您希望事先检查,那么根据您的宗教观点,任何一种方法都同样有效。