使用Go语句生成数值表
相对于传统的循环和游标方式生成数据,
"GO n"
方式更加简洁
---创建测试表
USE test
GO
CREATE TABLE tt
(
id INT IDENTITY (1,1) NOT NULL,
CONSTRAINT pk_id PRIMARY KEY
CLUSTERED (id ASC)
) ON [PRIMARY]
-- 设置环境
SET NOCOUNT ON
GO
SET IDENTITY_INSERT dbo.tt ON;
GO
-- 插入首行数据
INSERT dbo.tt(id) VALUES(IDENT_CURRENT('dbo.tt'));
GO
-- 重复10000次插入10000行记录,本本上大约花费 5s
INSERT dbo.tt(id) VALUES(IDENT_CURRENT('dbo.tt')+1);
GO 10000
-- 恢复环境
SET IDENTITY_INSERT dbo.tt OFF;
GO
SET NOCOUNT OFF
GO
-- 验证结果
SELECT count(1) as TotalNums FROM dbo.tt;
GO
USE test
GO
CREATE TABLE tt
(
id INT IDENTITY (1,1) NOT NULL,
CONSTRAINT pk_id PRIMARY KEY
CLUSTERED (id ASC)
) ON [PRIMARY]
-- 设置环境
SET NOCOUNT ON
GO
SET IDENTITY_INSERT dbo.tt ON;
GO
-- 插入首行数据
INSERT dbo.tt(id) VALUES(IDENT_CURRENT('dbo.tt'));
GO
-- 重复10000次插入10000行记录,本本上大约花费 5s
INSERT dbo.tt(id) VALUES(IDENT_CURRENT('dbo.tt')+1);
GO 10000
-- 恢复环境
SET IDENTITY_INSERT dbo.tt OFF;
GO
SET NOCOUNT OFF
GO
-- 验证结果
SELECT count(1) as TotalNums FROM dbo.tt;
GO
/* tno
10001
*/
SELECT * FROM tt t
![](https://images.cnblogs.com/cnblogs_com/qingsong-do/%E6%9C%AA%E5%91%BD%E5%90%8D.jpg)