怎样来更新数据?
有张数据库a表
商品编码 商品名称 标志 数量 单价 总价 日期
00100 数码相机 0 2 2500 5000 2007-02-01
00200 U盘 0 3 200 600 2007-01-01
00500 U盘 0 1 300 300 2007-01-01
c盘里有个a.txt文件,里面有如下数据:(商品编码和价格)
00100 2500
00200 200
现在要把c盘a.txt里的商品编码作为判断条件来更新a表里的标志,a表结果:
商品编码 商品名称 标志 数量 单价 总价 日期
00100 数码相机 1 2 2500 5000 2007-02-01
00200 U盘 1 3 200 600 2007-01-01
00500 U盘 0 1 300 300 2007-01-01
[解决办法]
做个临时表~~把a.txt导入这个表
[解决办法]
--建立測試環境
Create Table A
(商品编码Char(5),
商品名称Nvarchar(10),
标志Bit,
数量Int,
单价Int,
总价Int,
日期Varchar(10))
--插入數據
Insert A Select '00100 ', N '数码相机 ', 0, 2, 2500, 5000, '2007-02-01 '
Union All Select '00200 ', N 'U盘 ', 0, 3, 200, 600, '2007-01-01 '
Union All Select '00500 ', N 'U盘 ', 0, 1, 300, 300, '2007-01-01 '
GO
--測試
Create Table #T
(商品编码Nvarchar(10),
价格Int)
BULK Insert #T
From 'C:\A.txt '
WITH (
FIELDTERMINATOR = ' ',
ROWTERMINATOR = '\n '
)
--Select * From #T
Update T1
Set 标志 = 1
From A T1
Inner Join #T T2
On T1.单价 = T2.价格 And T1.商品编码 = T2.商品编码
Drop Table #T
Select * From A
GO
--刪除測試環境
Drop Table A
--結果
/*
商品编码商品名称标志数量单价总价日期
00100数码相机12250050002007-02-01
00200U盘132006002007-01-01
00500U盘013003002007-01-01
*/