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循环一条条插入 --------------------编程问答--------------------
t-sql语法中本来就没有“go语句”!你在sql server的查询分析器上看到可以写go,那是告诉查询分析器在这个go之前将输入分割入CommandText中,go语句并不写在CommandText里边。所以你在CommandText中写go显然是不对的。按照t-sql的语法规定,你只要写分号“;”,或者什么都不写(sql server编译系统可以自动区分)这就行了。
你可以把几百条sql命令写在一个CommandText内,然后一次提交给sql server系统。 --------------------编程问答-------------------- 你在标题中胡乱使用了“事务”这两个字,误导了回帖的人!
补充:.NET技术 , ASP.NET