//--創建事務 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
INSERT INTO [dbo].[Lock]([lock], ax001) select 0 ,ISNULL(MAX(ax001),0)+1 from [lock]