- //-- 创建事务
- Create PROC [dbo].[proc_XXXXX]
- @xxx varchar(50)
- AS
- BEGIN
- BEGIN TRAN
- BEGIN TRY
..................... 插入
- COMMIT TRAN
- END TRY
- BEGIN CATCH
- SELECT ERROR_MESSAGE()
- ROLLBACK TRAN
- END CATCH
- END
- GO
插入百万条数据
- use test
- DECLARE @i INT
- set @i=0;
- DECLARE @id INT
- SET @id=0
WHILE @i<1000000 --100w 为你要执行插入的次数
BEGIN
INSERT INTO Table_2(id) --xx 为表名
- VALUES ( @i+1)
- SET @i=@i+1
- END
插入百万条数据 2
- DECLARE @LN VARCHAR(300),@MN VARCHAR(200),@FN VARCHAR(200)
- DECLARE @LN_N INT,@MN_N INT,@FN_N INT
- SET @LN='李王张刘陈杨黄赵周吴徐孙朱马胡郭林何高梁郑罗宋谢唐韩曹许邓萧冯曾程蔡彭潘袁于董余苏叶吕魏蒋田杜丁沈姜范江傅钟卢汪戴崔任陆廖姚方金邱夏谭韦贾邹石熊孟秦阎薛侯雷白龙段郝孔邵史毛常万顾赖武康贺严尹钱施牛洪龚'
- SET @MN='德绍宗邦裕傅家積善昌世贻维孝友继绪定呈祥大正启仕执必定仲元魁家生先泽远永盛在人为任伐风树秀文光谨潭棰'
- SET @FN='丽云峰磊亮宏红洪量良梁良粮靓七旗奇琪谋牟弭米密祢磊类蕾肋庆情清青兴幸星刑'
- SET @LN_N=LEN(@LN)
- SET @MN_N=LEN(@MN)
- SET @FN_N=LEN(@FN)
- DECLARE @TMP VARCHAR(1000),@I INT
- SET @I=1
- WHILE @I<=1000000
- BEGIN
- SET @TMP=CAST(SUBSTRING(@LN,CAST(RAND()*@LN_N AS INT),1) AS VARCHAR)
- SET @TMP=@TMP+CAST(SUBSTRING(@MN,CAST(RAND()*@MN_N AS INT),1) AS VARCHAR)
- SET @TMP=@TMP+CAST(SUBSTRING(@FN,CAST(RAND()*@FN_N AS INT),1) AS VARCHAR)
- INSERT INTO student(sname)VALUES(@TMP)
- SET @I=@I+1
- END
若存在插入
- use test
- insert into Table_1(A,B)
- select 'B','B'
where not exists(select * from Table_1 where A='B') -- 先查询在插入 -- 返回受影响的行
不知不觉分不开 2018-09-28 11:18:07
- if not exists(select * from xxxss where xxx=1)
- begin
- ................. // 插入语句
- end
- go
来源: http://www.bubuko.com/infodetail-3303302.html