DECLARE @i int 
DECLARE @shopName nvarchar(50) 
DECLARE @pointX float;
DECLARE @pointY float;  
DECLARE @address nvarchar(50) 
DECLARE @phone nvarchar(50)
DECLARE @furen nvarchar(50) 
DECLARE @furenphone nvarchar(50)
DECLARE @speed nvarchar(50)
DECLARE @yun nvarchar(50)
DECLARE @area nvarchar(50)
DECLARE @computer int
DECLARE @information int
DECLARE @verifysystem int
DECLARE @verifytype nvarchar(50)
DECLARE @verifysum nchar(10)
DECLARE @verifypen nvarchar(50)
Set @i = 1000
Set @pointX=23.140787(在数据库里面是nvarchar(50))
Set @pointY=113.319723(在数据库里面是nvarchar(50))
set @address=1 
set @phone=1 
set @furen=1 
set @furenphone=1 
set @speed=1 
set @yun=1 
set @area=1 
set @computer=1 
set @information=1 
set @verifysystem=1
set @verifytype=1 
set @verifysum=1 
set @verifypen=1 
 
WHILE(@i < 1000) 
BEGIN insert into ppoint values(@shopName,@pointX,@pointY,@address,@phone,@furen,@furenphone,@speed,@yun,@area,@computer,@information,@verifysystem,@verifytype,@verifysum,@verifypen) 
Set @i =@i +1 
Set @pointX=23.140787+0.000005
Set @pointY=113.319723+0.000005
END

解决方案 »

  1.   

    因为Set @i = 1000
    根本没有进入这个循环: WHILE(@i < 1000) ..
      

  2.   


    DECLARE @i INT 
    DECLARE @shopName NVARCHAR(50) 
    DECLARE @pointX FLOAT ;
    DECLARE @pointY FLOAT ;  
    DECLARE @address NVARCHAR(50) 
    DECLARE @phone NVARCHAR(50)
    DECLARE @furen NVARCHAR(50) 
    DECLARE @furenphone NVARCHAR(50)
    DECLARE @speed NVARCHAR(50)
    DECLARE @yun NVARCHAR(50)
    DECLARE @area NVARCHAR(50)
    DECLARE @computer INT
    DECLARE @information INT
    DECLARE @verifysystem INT
    DECLARE @verifytype NVARCHAR(50)
    DECLARE @verifysum NCHAR(10)
    DECLARE @verifypen NVARCHAR(50)
    SET @i = 1000
    SET @pointX = 23.140787
    SET @pointY = 113.319723
    SET @address = 1 
    SET @phone = 1 
    SET @furen = 1 
    SET @furenphone = 1 
    SET @speed = 1 
    SET @yun = 1 
    SET @area = 1 
    SET @computer = 1 
    SET @information = 1 
    SET @verifysystem = 1
    SET @verifytype = 1 
    SET @verifysum = 1 
    SET @verifypen = 1 
     
    WHILE ( @i < 1000 ) 
        BEGIN         INSERT  INTO ppoint
            VALUES  ( @shopName, CAST(@pointX AS VARCHAR(50)),
                      CAST(@pointY AS VARCHAR(50)), @address, @phone, @furen,
                      @furenphone, @speed, @yun, @area, @computer, @information,
                      @verifysystem, @verifytype, @verifysum, @verifypen ) 
            SET @i = @i + 1 
            SET @pointX = 23.140787 + 0.000005
            SET @pointY = 113.319723 + 0.000005
        END
      

  3.   

    这也是在写SQL吗?咋跟SQL不一样呢?
      

  4.   


    看出来了
    SET @i = 1000 
    以为是1呢
      

  5.   

    楼主设置的i的初始值为1000,所以未执行i<1000的操作。