怎么来更新需要的数据?

有张数据库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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值