自动生成用户名或密码
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: 爱因光 -- Create date: 2012年3月21日14:37:10 -- Description: 自动生成用户名或密码 -- ============================================= CREATE PROCEDURE [dbo].[sp_GenerateString] @Length INT, @string NVARCHAR(200) OUTPUT AS DECLARE @RandomID VARCHAR(32); DECLARE @counter SMALLINT; DECLARE @RandomNumber FLOAT; DECLARE @RandomNumberInt TINYINT; DECLARE @CurrentCharacter VARCHAR(1); DECLARE @ValidCharacters VARCHAR(255); SET @ValidCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; DECLARE @ValidCharactersLength INT; SET @ValidCharactersLength = LEN(@ValidCharacters); SET @CurrentCharacter = ""; SET @RandomNumber = 0; SET @RandomNumberInt = 0; SET @RandomID = ""; SET NOCOUNT ON; SET @counter = 1; WHILE @counter < (@Length + 1) BEGIN SET @RandomNumber = RAND(); SET @RandomNumberInt = CONVERT( TINYINT, ((@ValidCharactersLength - 1) * @RandomNumber + 1) ); SELECT @CurrentCharacter = SUBSTRING(@ValidCharacters, @RandomNumberInt, 1); --判断不能以数字开头 IF (@counter = 1) BEGIN WHILE (ISNUMERIC(@CurrentCharacter) = 1) BEGIN SET @RandomNumber = RAND(); SET @RandomNumberInt = CONVERT( TINYINT, ((@ValidCharactersLength - 1) * @RandomNumber + 1) ); SELECT @CurrentCharacter = SUBSTRING(@ValidCharacters, @RandomNumberInt, 1); END END SET @counter = @counter + 1; SET @RandomID = @RandomID + @CurrentCharacter; END SET @string = @RandomID
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: java 生成有序账号
- 下一篇: Java传入用户名和密码并自动提交表单实现登录到其他系统的实例代码