首页 文章

Oracle和auto_increment / identity

提问于
浏览
3

在现代版本的Oracle中,是否有一些“标准”(存储过程,附加的CREATE语法等)方法来设置具有auto_increment / identity样式列的表,或者我们仍然无法手动创建表,创建序列,并创建触发器 .

Update :我发现Oracle没有auto_increment的概念 . 我感兴趣的是,如果任何标准Oracle工具已经自动化了序列和触发器的创建,或者如果DBA留下来创建所需的查询/命令来创建序列并触发它们自己 .

4 回答

  • 3

    如果你想要一个顺序递增的有序值,那么不, SEQUENCE 是唯一的选择 .

    如果您只想要一个身份,请使用 SYS_GUID()

  • 2

    Oracle SQL Developer为您提供了一个选项,可以自动创建从序列中填充表主键的"create or replace trigger"代码 . 为此,在导航器树中,右键单击表名称>触发器>创建(序列中的PK) . 但它不会为您创建序列 .

  • 5

    您实际上不需要触发器,只需在将新行填充到表中时引用序列的下一个值 . 如果愿意,您甚至可以在多个表之间共享单个序列 .

  • 3

    自动递增?不,谢谢 . 你被序列所困扰(尽管通常稍微不方便,但它们通常都更好) .

    但是,您可以使用GUID . Oracle可以使用SYS_GUID()函数代替 .

相关问题