测试数据更新

时间:2010-07-04 23:20:09

标签: sql sql-server

只是好奇这是否是更新余额的最佳方式?它执行正常,但我是SQL的新手 谢谢你的任何建议......

*/
CREATE DATABASE KFF
GO

USE KFF

CREATE TABLE COA
(
Account INT NOT NULL,
Description VARCHAR(250),
Short_Description VARCHAR(250),
)

BULK INSERT COA FROM 'C:\COA-IMPORT.TXT' WITH
(
FIELDTERMINATOR = ',', 
ROWTERMINATOR = '\n' 
)

ALTER TABLE COA
ADD Balance money;


SELECT * FROM COA

use KFF
update COA SET Balance=$1000 WHERE Account=100001
update COA SET Balance=$2000 WHERE Account=100002
update COA SET Balance=$3000 WHERE Account=100003
update COA SET Balance=$4000 WHERE Account=100010
update COA SET Balance=$5000 WHERE Account=100011
update COA SET Balance=$6000 WHERE Account=100012
update COA SET Balance=$7000 WHERE Account=100020
update COA SET Balance=$8000 WHERE Account=100021

1 个答案:

答案 0 :(得分:0)

我不得不说,这可能不是最好的方式。

您能否就业务领域提供更全面的问题陈述?

我可以看到您从某个地方导入了一个以CSV格式提供的会计科目表。

不知何故,您的脚本知道应该分配给帐户的余额,但我不清楚这些额外信息的真正来源。

如果您有另一个包含余额(余额)的表格,似乎不需要为导入的数据添加列,您可以在导入会计科目表后简单地合并数据(可能是为了获得最新名字):

SELECT *
FROM Balances
INNER JOIN COA
    ON COA.Account = Balances.Account

或者(如果您不确定两边是否可以丢失物品):

SELECT *
FROM Balances
FULL OUTER JOIN COA
    ON COA.Account = Balances.Account