首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎样来更新数据?解决思路

2012-02-22 
怎样来更新数据?有张数据库a表商品编码商品名称标志数量单价总价日期00100数码相机02250050002007-02-0100

怎样来更新数据?
有张数据库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
*/

热点排行