当前位置: 首页 > 面试题库 >

将自动增量主键添加到oracle中的现有表中

夹谷鸿福
2023-03-14
问题内容

我想向具有数据的现有表中添加一个新的自动增量主列。我怎么做?

我先添加了一个列,然后尝试添加一个序列,此后,我迷失了如何插入该列并将其作为主键。


问题答案:

假设您的表被调用t1,您的主键被称为idFirst,创建序列:

create sequence t1_seq start with 1 increment by 1 nomaxvalue; 

然后创建一个触发器,该触发器在插入时增加:

create trigger t1_trigger
before insert on t1
for each row
   begin
     select t1_seq.nextval into :new.id from dual;
   end;


 类似资料:
  • 我想向包含数据的现有表中添加一个新的自动递增主列。我该怎么做? 我首先添加了一列,然后尝试添加一个序列,之后我就不知道如何插入该列并将其作为主键。

  • 问题内容: 我正在尝试更改没有主键或auto_increment列的表。我知道如何添加主键列,但我想知道是否有可能自动将数据插入主键列(我已经在数据库中有500行,并希望为其提供ID,但我不想手动执行) 。有什么想法吗?非常感谢。 问题答案: 在我的测试中,添加列的语句可以正常工作: 在为测试目的而创建的临时表上,以上语句创建了该 列,并为该表中的每个现有行插入了自动递增值,从1开始。

  • 我正在尝试使用现有主键将自动递增id添加到现有表中 这是我的密码 表代码的初始迁移 将自动增量ID添加到现有表代码 我试图做的是向这个现有表添加一个自动递增的id,但它给了我这个错误 有人能帮帮我吗?我不想删除表的主键,我只想添加另一个自动递增的id,它不是主键,但可以是唯一键

  • 我有一个名为的现有表。在这个表中,我有5列: persionId 人名 PMid 描述 Pamt 创建此表时,我将和设置为主键。 我现在想在主键中再包含一列——PMID。我如何编写一个语句来做到这一点?(表中已经有1000条记录了)

  • 问题内容: 我想在ala SQL Server列中实现标识或自动递增值: 如何才能做到这一点? 问题答案: 正如Orbman所说,实现此目标的标准方法是使用序列。大多数人也将其与插入触发器结合在一起。因此,当插入没有ID的行时,触发器将触发以从序列中为您填写ID。 这是在Oracle中使用触发器的少数情况之一。

  • 问题内容: 我的数据库带有表test1。它具有一个主要ID“ Id”,该ID是自动递增的。现在,id的格式为1,2,3。是否可以将主要ID存储为PNR1,PNR2,PNR3…。。等等(自动递增)。 问题答案: 否。可以在查询中添加前缀,也可以使用视图。