create proc pr_insert
asdeclare @n int
declare @a nvarchar(50)
declare @b nvarchar(50)
set @n =10
while @n >0
begin
while @a is null or exists (select 1 from tb where A=@a and B=@b)
begin
set @a=replace(NEWID(),'-','')
set @b=replace(NEWID(),'-','')
end
insert tb(a,b) values (@a,@b)
set @n = @n-1
end

解决方案 »

  1.   


    create proc pr_insert
    asdeclare @n int
    declare @a nvarchar(50)
    declare @b nvarchar(50)
    set @n =10
    while @n >0
    begin
        while @a is null or exists (select 1 from tb where A=@a and B=@b)
        begin
            set @a=left(replace(NEWID(),'-',''),12)
            set @b=left(replace(NEWID(),'-',''),16)
        end
        insert tb(a,b) values (@a,@b)
        set @n = @n-1
    end