1

我想跟踪个人的信用卡交易(本质上是金额)。有没有什么办法可以将一个人的所有交易保存在一行中,而不是在数据库中为每笔交易创建一个新条目?即,如果一个人 A 购买了 1500 卢比,则为 1500 卢比。2600 和卢比。3200 在不同的情况下,我希望表条目看起来像这样:

A : 1500, 2600, 3200

另外,有什么办法可以只保留一定数量的条目吗?这意味着,对于添加的一个新条目,应该删除一个最旧的条目。我正在使用 Oracle 10g。请帮帮我。谢谢你。

4

1 回答 1

4

你能?好吧,您当然可以将列定义为 aVARCHAR2或 aCLOB并将以逗号分隔的值列表写入该列。这意味着您必须在每次选择数据时编写代码来解析数据。并编写代码来执行诸如删除或修改列表中的一个元素之类的操作。而且您将失去正确数据输入的好处。并进行适当的标准化。而且你真的,真的会惹恼将来必须支持你的代码的人。特别是当有人无意中在您的逗号分隔字符串列中存储了 1,000 而不是 1000 的交易价值时。

所以你可以,是的。但我无法想象这样做真的有意义的任何情况。

创建一个表来存储事务。为每个事务创建一个新行。将每笔交易与特定的人联系起来。你会感激你所做的。

于 2013-05-13T06:57:23.573 回答