有张数据库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文件,里面有如下数据:(商品编码、名称、价格和备注)
"110100","数码相机",2500,""
"20200","U盘",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
测试环境
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'
怎么来建临时表更新呢?
Create ProceDure SP_TEST
As
Begin
Create Table #T(商品编码 Char(5),名称 Nvarchar(10), 价格 Int, 备注 Nvarchar(100))
BULK Insert #T
From 'C:/A.txt'
WITH (
FIELDTERMINATOR =',',
ROWTERMINATOR ='/n'
)
Update A Set 标志 = 1 From A Inner Join #T B On A.商品编码 = B.商品编码
Drop Table #T
End
GO
EXEC SP_TEST
Select * From A