zamiana 20 n-losowych licz na 20 liter z zakresu od a do z

0

Potrzebuje Waszej pomocy.
Musze zamienić 20 losowo wybranych liczb (dzięki poleceniu rand) na 20 liter w każym polu.
Poniżej przedstawima kod który udało mi śie wykonać niestety nie działa tak jak należy:

create table liczby
(
klucz int primary key,
slowo char(20)
)
-- Kolejno tworzymy procedure
alter procedure zapelnianie_wyrazami @n int
as
declare @i int
set @i=1
truncate table liczby
while @i<[email protected]
begin
insert into liczby values(@i, nchar(floor(1+rand()*29)) <<-- Właśnie tutaj coś nie gra :()
select @[email protected]+1
end

exec zapelnianie_wyrazami 20

select * from liczby

Z góry dziękiu za wszelaką pomoc

0

Baza, baza...

0

Z kodu wynika, ze chyba mssql

0

Sorki zapomniałem dodać MSSQL 2005

Pomóżcie Prosze [???]

0

co nie gra - jakiś błąd, dostajesz złe dane...

0

Kilka bledow w procedurze bylo, wiec nie wiem jak dzialalo ;)
Takie cus hula na mssql 2000

create procedure zapelnianie_wyrazami @n int
as
begin
    declare @i int
    set @i=1
    truncate table liczby
    while @i <= @n
        begin
        insert into liczby values(@i, char(floor(ASCII('a')+rand()*26)))
        set @[email protected]+1
    end
end
0

Johny niski ukłon za powyższy kod
Super że działa, tylko jak zrobić tak aby w kolumnie slowo pojawiło się 20 losowo wybranych liter. próbowałem różnymi pętlami ale jak się to mówi po czesku ne funguje.

Pzdr

0

Nie mam teraz pod reka sql'a, ale tak na oko to takie cos powinno zadzialac:

CREATE procedure zapelnianie_wyrazami @n int
AS
begin
        declare @i int
        declare @slowo char(20)
        declare @licznik
        SET @i=1
        TRUNCATE TABLE liczby
        while @i <= @n
                begin
                    set @licznik = 0
                    set @slowo = ''
                    while @licznik < 20
                    begin
                        set @slowo = @slowo + char(floor(ASCII('a')+rand()*26))
                        @licznik = @licznik + 1
                    end
                INSERT INTO liczby VALUES(@i, @slowo)
                SET @[email protected]+1
        end
end

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0