这是一个一般性的问题,但是在 Oracle 数据库中,是否有一种简单的方法可以确定一个字段是否附加了序列号?这似乎应该是显而易见的,但我错过了它。
谢谢。
这是一个一般性的问题,但是在 Oracle 数据库中,是否有一种简单的方法可以确定一个字段是否附加了序列号?这似乎应该是显而易见的,但我错过了它。
谢谢。
一般来说,没有。序列是单独的一等对象。通常,您会为每个表创建一个序列并始终使用该序列来填充键(通过触发器或通过任何您必须执行插入的程序 API)。但是没有什么能阻止您使用相同的序列来填充多个表或编写不使用该序列时存在的代码。
如果您使用的是最新版本的 Oracle,并且您只查看显式创建为标识列的列,而不是创建单独序列并使用触发器/列默认值填充键的老式方法,您可以使用(或/ )中的identity_column
列以查看该列是否被声明为标识。all_tab_columns
user_tab_columns
dba_tab_columns
没有办法将序列附加到 oracle 中的字段,您可以做的是在您认为合适的应用程序中使用该序列。
一般情况下,您需要在表上查找触发器,以及可能用于将数据插入此表的过程,有些人使用这些来规范序列使用并将其附加到字段,但它不是真正的附件,而是他们只是使用序列,它可以以许多其他方式使用。