数据库表导出的excel文件我给修改了一些数据,现在我想吧这些数据再更新到数据库表中,让他们一致,SQL Server很D疼呀就是导入进不去,于是乎就写这么个存储过程来简化一下操作吧。
create proc [dbo].[myproc]
as
begin
begin tran
Declare
mycursor cursor for select ID,所有需要更新的列名 from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel
8.0;HDR=YES;IMEX=2;DATABASE=d:\excel文件名.xls',[excel表名$]) --文件路径要正确
OPEN mycursor
declare @id int
declare @no nvarchar(20)
while @@FETCH_STATUS=0
begin
fetch next from mycursor into @id,@no --或许更多(和上面的列名对应)
begin
update 要更新的表名 set 更新的列名=@no where 主键=@id --这里设置更新条件
end
end
close mycursor
if(@@error=0)
begin
commit tran
end
else
begin
rollback tran
end
deallocate mycursor
end
PS:此代码运行在SQL Server 2005