在Delphi中,TFDQuery组件有一个属性“聚合”,它表示客户端聚合字段到数据集的轻量级版本。
如果插入"MAX( ID )“,则会得到一个比下一个空闲ID数少一个的数字。
如果这可以用于计算If,那么为各种类型的数据库设置一个ID-字段的自动生成器将是一种非常容易的方法。
但我怀疑是因为它被称为“客户端”。我不知道这到底是什么意思。它不计算整个表的聚合,但只计算记录的本地分区吗?在最后一种情况下,一旦正确初始化,它也许可以用于自动生成器。
发布于 2018-07-28 10:01:35
如果这可以用于计算If,那么为各种类型的数据库设置一个ID-字段的自动生成器将是一种非常容易的方法。
无论如何,我恐怕不是为了“各种数据库”。“客户端”的意义在于,客户端派生行id的方法对共享数据库没有好处,因为不同的用户可能同时尝试将行添加到同一个表。
对于多用户数据库,您最好使用服务器端RDMS提供的任何工具来提供ID字段值。有些RDMS,如Interbase,有所谓的生成器来为您可靠地做到这一点。
https://stackoverflow.com/questions/51569944
复制相似问题