在一个表里插入100000条记录
例如 表名t1 表里的字段是a,b,c
            Do While (i<= 100000)
                DoEvents
                gRS.AddNew
                gRS!a= i
                gRS!b= i
                gRS!c= i
                gRS.Update
                i= i + 1
            Loop
怎样做速度快一点(上面几句怎么改)

解决方案 »

  1.   

    select top 100000 id=identity(int,1,1),1 as col,2 as col2 into #t from syscolumns a,syscolumns b
      

  2.   

    SELECT TOP 10000 IDENTITY(int) ID INTO #tb FROM sysobjects CROSS JOIN syscolumns
      

  3.   

    select top 100000 a=identity(int,1,1) into # from syscolumns ,sysobjects select a,b=a,c=a from #drop table #
      

  4.   

    select top 100000 a=identity(int,1,1 into #t from syscolumns a,syscolumns b
    select a,b=a,c=a from #t
      

  5.   

    实际插入的数据是这样的
    表t1 字段 编号,姓名
              0001,Name1表t2 字段 编号,姓名,日期(所有字段都是nvarchar)已知变量 var1="0001"
    现在要在表t2里插入一下数据
    0001,Name1,2006-01-01
    0001,Name1,2006-01-01
    ...
    ...
    0001,Name1,2006-12-31
    怎么弄
      

  6.   

    SELECT TOP 10000 IDENTITY(int) ID INTO #tb FROM sysobjects CROSS JOIN syscolumns
    INSERT t2 SELECT REPLICATE('0',4-LEN(ID)) + RTRIM(ID),'Name1',DATEADD(dd,ID,'2006-01-01') FROM #tb WHERE DATEDIFF(dd,DATEADD(dd,ID,'2006-01-01'),'2006-12-31')>=0DROP TABLE #t可能有手误
      

  7.   

    实际插入的数据是这样的
    表t1 字段 编号,姓名
              0001,Name1
              0002,Name2
              ...表t2 字段 编号,姓名,日期(所有字段都是nvarchar)已知变量 var1="0001"
    现在要在表t2里插入以下数据
    0001,Name1,2006-01-01
    0001,Name1,2006-01-02
    ...
    0001,Name1,2006-12-31
    0002,Name2,2006-01-01
    0002,Name2,2006-01-02
    ...
    0002,Name2,2006-12-31
    ...
    ...
    ...怎么弄
      

  8.   

    select top 100000 a=identity(int,1,1) into # from syscolumns ,sysobjects select a=right(1000000+a,6),b=right(1000000+a,6),c=right(1000000+a,6) 
    from #drop table #