Oracle10g 如何在oracle数据库中一行的一个字段/列中保存多个值?

Oracle10g 如何在oracle数据库中一行的一个字段/列中保存多个值?,oracle10g,Oracle10g,我想跟踪个人的信用卡交易(本质上是金额)。除了在数据库中为每个事务创建一个新条目外,还有什么方法可以将一个人的所有事务保存在一行中? i、 例如,如果一个人a在不同的情况下购买了1500卢比、2600卢比和3200卢比,我希望表项如下所示: A : 1500, 2600, 3200 还有,我有没有办法只保留一定数量的条目?也就是说,对于添加的一个新条目,应该删除一个最旧的条目。我正在使用Oracle 10g。 请帮帮我。 谢谢。可以吗?当然,您可以将该列定义为VARCHAR2或CLOB,并将逗

我想跟踪个人的信用卡交易(本质上是金额)。除了在数据库中为每个事务创建一个新条目外,还有什么方法可以将一个人的所有事务保存在一行中? i、 例如,如果一个人a在不同的情况下购买了1500卢比、2600卢比和3200卢比,我希望表项如下所示:

A : 1500, 2600, 3200
还有,我有没有办法只保留一定数量的条目?也就是说,对于添加的一个新条目,应该删除一个最旧的条目。我正在使用Oracle 10g。 请帮帮我。
谢谢。

可以吗?当然,您可以将该列定义为
VARCHAR2
CLOB
,并将逗号分隔的值列表写入该列。这意味着您必须在每次选择数据时编写代码来解析数据。并编写代码来执行删除或修改列表中的一个元素等操作。这样你就失去了正确输入数据的好处。以及适当的正常化。而且你会真的,真的惹恼将来必须支持你的代码的人。特别是当某人无意中在逗号分隔的字符串列中存储了1000而不是1000的事务值时

所以你可以,是的。但我无法想象这样做会有什么意义


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

你能吗?当然,您可以将该列定义为
VARCHAR2
CLOB
,并将逗号分隔的值列表写入该列。这意味着您必须在每次选择数据时编写代码来解析数据。并编写代码来执行删除或修改列表中的一个元素等操作。这样你就失去了正确输入数据的好处。以及适当的正常化。而且你会真的,真的惹恼将来必须支持你的代码的人。特别是当某人无意中在逗号分隔的字符串列中存储了1000而不是1000的事务值时

所以你可以,是的。但我无法想象这样做会有什么意义


创建一个表来存储事务。为每个事务创建一个新行。将每笔交易链接到特定的人。你会很感激的。

我认为这是一个非常(非常)糟糕的主意。您问题的第二部分应该可以帮助您理解通过事务获取一行数据是多么容易。但是,将有数百人的事务需要我保存,每人再保存100个事务(我希望尽可能降低复杂性。--那么你建议我怎么做?想象一下:有一天,有人告诉你:现在,我想要每个事务的日期(这很有意义)。你如何使用你的系统做到这一点,而不必完全重写所有内容?解决方案:每个条目一行……我会说这是一个真正的(真的)坏主意。问题的第二部分应该可以帮助您理解通过事务获取一行数据是多么容易。但是,我必须保存数百人的事务,每人再保存一百个事务(我希望尽可能降低复杂性。--那么你建议我怎么做?想象一下:有一天,有人告诉你:现在,我想要每个事务的日期(这很有意义)。你如何在不完全重写的情况下使用系统做到这一点?解决方案:每个条目一行。。。