当前位置:编程学习 > C#/ASP.NET >>

insert into 不使用事务 怎么弄?

有  
100条 insert into 语句  

其中 不规律性的有 X条 insert 语句 与 目标表的不重复 约束 无法插入数据

如何实现  
该条 insert 中断 后 继续执行后边的 insert  

 
1 程序实现 100次 每次 insert 浪费资源  
2 每条 insert 加 go ,由于在程序中已使用 string sql_insert +=" insert .....";
CommandText = insert  
ExecuteNonQuery()
go 无法自动串到 insert 下一行 执行会报错。 --------------------编程问答-------------------- for (int i=0;i<100;i++)
{
try
{
 开事务;
insert;
提交
}
catch
{
回滚
}
} --------------------编程问答-------------------- 不使用失误,你就一条一条的循环插入。 --------------------编程问答-------------------- 这种情况建议是采用事务来处理,回滚。如果一条条循环插入非常耗资源。 --------------------编程问答-------------------- for循环一条条插入 --------------------编程问答--------------------
引用楼主  的回复:
每条 insert 加 go ,由于在程序中已使用 string sql_insert +=" insert .....";
CommandText = insert   
ExecuteNonQuery()
go 无法自动串到 insert 下一行 执行会报错。

t-sql语法中本来就没有“go语句”!你在sql server的查询分析器上看到可以写go,那是告诉查询分析器在这个go之前将输入分割入CommandText中,go语句并不写在CommandText里边。所以你在CommandText中写go显然是不对的。按照t-sql的语法规定,你只要写分号“;”,或者什么都不写(sql server编译系统可以自动区分)这就行了。


你可以把几百条sql命令写在一个CommandText内,然后一次提交给sql server系统。 --------------------编程问答-------------------- 你在标题中胡乱使用了“事务”这两个字,误导了回帖的人!
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,