我想跟踪个人的信用卡交易(实质上是金额)。而不是在数据库中为每个事务创建一个新条目,有没有什么方法可以将一个人的所有事务保存在一行中? 即,如果一个人A购买Rs.1500卢比。 2600和卢比。 3200在不同的实例中,我希望表条目看起来像这样:
A : 1500, 2600, 3200
另外,有什么方法可以保留一定数量的条目吗?意思是,对于添加的一个新条目,应删除一个最旧的条目。我正在使用Oracle 10g。 请帮帮我。 谢谢。
答案 0 :(得分:4)
VARCHAR2
或CLOB
,并将逗号分隔的值列表写入该列。这意味着您每次选择数据时都必须编写代码来解析数据。并编写代码来执行删除或修改列表中的一个元素。你会失去正确数据输入的好处。适当的正常化。对于将来必须支持您的代码的人,你真的非常烦恼。特别是当有人在您的逗号分隔字符串列中无意中存储了1,000而不是1000的事务值时。
所以你可以,是的。但我无法想象这样做的任何情况。
创建一个表来存储交易。为每个事务创建一个新行。将每笔交易与特定人员联系起来。你会感激的。