SQL语句怎么求1-10的质数啊
谢谢

解决方案 »

  1.   

    create function t(@a int)
    returns int
    as
    begin
    declare @r int
    declare @i int
    if @a > 2
    begin
    if @a % 2 =0
    set @r = 0
    else
    begin
    set @i = 3
    while @i < sqrt(@a) and @a % @i <>0
    begin
    set @i = @i + 2
    end
    if @i > sqrt(@a) set @r = 1 else set @r = 0
    end
    end
    else
    set @r = 1
    return @r
    end
    goselect dbo.t(3)
    go
    select dbo.t(4)
    goset nocount on
    declare @a int
    declare @t table(i int)
    set @a = 1while @a < 10
    begin
    if dbo.t(@a) = 1
    insert into @t values(@a)
    set @a = @a + 2
    endselect * from @t