Вот самый случайный способ, который я могу придумать:
Select NewID() as UserName, NewID() as Password
Конечно, вашим пользователям это не понравится, потому что это действительно очень долго:
UserName Password
------------------------------------ ------------------------------------
F050EF1A-1D6C-4A20-991C-F6B034AEBD2E 86C8D5FC-D09E-45FF-9A4F-041239082C5E
Итак, сократим его до 8 символов:
Select
SubString (Cast (NewID() as VarChar(50)), 1, 8) as UserName,
SubString (Cast (NewID() as VarChar(50)), 1, 8) as Password
Это выглядит лучше:
UserName Password
-------- --------
63B1A547 D5566B8C
Поскольку вы хотите, чтобы это генерировалось при сохранении строки, у вас, вероятно, есть оператор INSERT, который помещает информацию о владельце учетной записи в базу данных. Измените эту конкретную строку кода, чтобы сделать эту вставку:
Insert Into AccountTable (UserName, Password)
Select
SubString (Cast (NewID() as VarChar(50)), 1, 8) as UserName,
SubString (Cast (NewID() as VarChar(50)), 1, 8) as Password
Конечно ... так как вы знаете имя владельца учетной записи, вы можете запросить ответ, чтобы узнать владельца. Гораздо лучшая идея - иметь столбец идентификаторов в таблице и использовать Scope_Identity
для получения только что вставленной строки.
person
Raj More
schedule
08.10.2013