1、创建测试表,create table test_batch(id number, v_date date)
2、先看插入原始表数据select t.*, rowid from test_day t
3、批量插入测试数据,insert into test_batch select * from test_daycommit
4、查询表的记录,select t.*, rowid from test_batch t可以发现数据一致。批量添加数据完成。
一次性插入大量数据,只能使用循环,如:游标,while 循环语句
下面介绍While 循环插入数据,
SQL 代码如下:
IF OBJECT_ID('dbo.Nums') IS NOT NULL
DROP TABLE dbo.Nums
GO
CREATE TABLE dbo.Nums(n INT NOT NULL PRIMARY KEY)
DECLARE @max AS INT, @rc AS INT
SET @max = 5000000
SET @rc = 1
INSERT INTO Nums VALUES(1)
WHILE @rc * 2 <= @max
BEGIN
INSERT INTO dbo.Nums SELECT n + @rc FROM dbo.Nums
SET @rc = @rc * 2
END
INSERT INTO dbo.Nums SELECT n + @rc FROM dbo.Nums WHERE n + @rc <= @max
--以上函数取自Inside SQL Server 2005: T-SQL Query一书。
INSERT dbo.Sample SELECT n, RAND(CAST(NEWID() AS BINARY(16))) FROM Nums
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)