sqlserver 插入語句


//--創建事務
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]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM