sqlserver 插入语句

Posted enych

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 

 

以上是关于sqlserver 插入语句的主要内容,如果未能解决你的问题,请参考以下文章

sql server有批量插入和批量更新的sql语句吗

sqlserver的查询语句和插入更新语句怎么用

sqlserver 插入语句

Myeclipse 如何用java 写sqlserver 的批量插入?

如何在sqlserver中用sql语句插入随机的大量的数据啊~求救。。

SQLServer 2008:来自 JAVA 的存储过程调用在执行插入和更新语句时返回错误