怎么一次性插入或更新多行数据
如何一次性插入或更新多行数据
程序是基于C/S模型的 里面有个功能需要插入或更新连续60行记录,比如ID100-160,由于数据库在服务器上,如果简单的进行循环插入或更新,会延迟非常厉害,不知道有没办法避免
------解决方案--------------------
拼接插入或更新语句,一次性传到服务器执行.
------解决方案--------------------
还可以从服务器获取一个空的recordset,用recordset.add方法添加记录,然后用 update 方法执行.
------解决方案--------------------
你在程序里将插入或更新的SQL字符串循环拼接后,然后连接数据库直接一次性执行。
------解决方案--------------------
可以些存储过程拼接字符串 然后在程序中调用。
------解决方案--------------------
60行就延迟得厉害了
------解决方案--------------------
先在数据集中修改,比如我做过C#的,在DataSet中先进行操作.然后一次性更新到数据库
------解决方案--------------------
update tableA set tableA.xx=xx,.....
where id between xx and xx
------解决方案--------------------
------解决方案--------------------
1、从SqlServer考虑,可以用BCP命令,批量导入数据,但BCP只能在本地执行!
程序是基于C/S模型的 里面有个功能需要插入或更新连续60行记录,比如ID100-160,由于数据库在服务器上,如果简单的进行循环插入或更新,会延迟非常厉害,不知道有没办法避免
------解决方案--------------------
拼接插入或更新语句,一次性传到服务器执行.
------解决方案--------------------
还可以从服务器获取一个空的recordset,用recordset.add方法添加记录,然后用 update 方法执行.
------解决方案--------------------
你在程序里将插入或更新的SQL字符串循环拼接后,然后连接数据库直接一次性执行。
------解决方案--------------------
可以些存储过程拼接字符串 然后在程序中调用。
------解决方案--------------------
60行就延迟得厉害了
------解决方案--------------------
先在数据集中修改,比如我做过C#的,在DataSet中先进行操作.然后一次性更新到数据库
------解决方案--------------------
update tableA set tableA.xx=xx,.....
where id between xx and xx
------解决方案--------------------
------解决方案--------------------
1、从SqlServer考虑,可以用BCP命令,批量导入数据,但BCP只能在本地执行!
- SQL code
EXEC master..xp_cmdshell 'BCP PMS.dbo.table1 in c:\table1.txt -c -t";" -r"\n\r" -S"Fred" ' EXEC master..xp_cmdshell 'bcp "testdb.dbo.test" out "C:\123.txt" -c -q -U"sa" -P"sa"' EXEC master..xp_cmdshell 'bcp testdb.dbo.test in "c:\test1.txt" -F 2 -c -t";" -r"\n" -k -U"sa" -P"sa" ' EXEC master..xp_cmdshell 'BCP AdventureWorks.sales.currency format nul -f c:\currency_format1.fmt -c -T'
------解决方案--------------------