2014-03-29 41 views
0

我需要将单词插入表中。单词需要是唯一的。如何通过循环向表中插入唯一代码

像:

AAAAA 
    AAAAB 
    AAAAC 

    ..... 
    ..... 
    ..... 

    ZZZZZ 

是否有实现这个什么简单的办法?

+1

请出示你至今尝试什么。谢谢! –

+0

顺便说一句,你为什么要这样做? –

+0

如果您回复,我只会帮忙。你可以键入 ? –

回答

2
declare  @a int = 65, 
     @b int = 90, 
     @a1 int = 65, 
     @b1 int = 90, 
     @a2 int = 65, 
     @b2 int = 90 

    while(@a<[email protected]) 
    begin 
    set @a1 = 65 
    while(@a1<[email protected]) 
    begin 
    set @a2 = 65 
    while(@a2<[email protected]) 
    begin 
    print char(@a) + char(@a1) +char(@a2) 
    set @a2 = @a2+1 
    end 
    set @a1 = @a1+1 
    end 
    set @a = @a+1 
    end 
0

这不是完整的代码。我故意不会给你全部的东西。使用下面的代码来开发整个事情YOURSELF -

select ASCII('A') as Ano 
select ASCII('Z') as Zno 

declare @count int = 1 
while(@count <= 26) 
    begin 
    print @count 
    set @count = @count + 1 
    end 
0

这不是确切答案。

,但会给你一些想法与此

;WITH Alphabet AS 
(
    SELECT CHAR(65) AS Letter,CHAR(65) AS LetterNew, 65 AS Code 
    UNION ALL 
    SELECT CHAR(Code + 1),CHAR(Code), Code + 1 
    FROM Alphabet 
    WHERE Code < 90 
) 

SELECT Letter+Letter+Letter+Letter+LetterNew FROM Alphabet 
UNION 
SELECT Letter+Letter+Letter+LetterNew+Letter FROM Alphabet 
UNION 
SELECT Letter+Letter+LetterNew+Letter+Letter FROM Alphabet 
UNION 
SELECT Letter+LetterNew+Letter+Letter+Letter FROM Alphabet 
UNION 
SELECT LetterNew+Letter+Letter+Letter+Letter FROM Alphabet 

Fiddle Demo

+0

所以,人们需要编辑多少行才能获得所需的行数,即26^6? –