zoukankan      html  css  js  c++  java
  • 使用Go语句生成数值表

    相对于传统的循环和游标方式生成数据,"GO n"方式更加简洁。
    虽然效率低下,但是也不失为一种方法(更高效的可以用row_number+sys.all_columns方式)。
    view sourceprint?
    -- 创建测试表
    use tempdb
    go
     
    CREATE TABLE [dbo].[Tally](
        [N] [int] IDENTITY(1,1) NOT NULL,
     CONSTRAINT [PK_Tally] PRIMARY KEY CLUSTERED
    (   [N] ASC)) ON [PRIMARY]
     
    -- 设置环境
    SET NOCOUNT ON
    GO
    SET IDENTITY_INSERT dbo.Tally ON;
    GO
    -- 插入首行数据
    INSERT dbo.Tally(N) VALUES(IDENT_CURRENT('dbo.Tally'));
    GO
     
    -- 重复10000次插入10000行记录,本本上大约花费7s
    INSERT dbo.Tally(N) VALUES(IDENT_CURRENT('dbo.Tally')+1);
    GO 10000
     
    -- 恢复环境
    SET IDENTITY_INSERT dbo.Tally OFF;
    GO
    SET NOCOUNT OFF
    GO
     
    -- 验证结果
    SELECT count(1) as TotalNums FROM dbo.Tally;
    GO
    /*
    TotalNums
    -----------
    10001
     
    */
    
  • 相关阅读:
    csp-s测试41 T2 影子
    模拟测试15 T3:rps (概率期望, 神*DP)
    考试沙币错误
    测试40
    水管局长 Lct
    测试32:chemistry
    测试35:抽卡
    模拟30,树
    考试策略&&模拟30经验总结:
    模拟测试28
  • 原文地址:https://www.cnblogs.com/qanholas/p/2078800.html
Copyright © 2011-2022 走看看