Oracle plsql中表的行号

Oracle plsql中表的行号,oracle,plsql,oracle10g,Oracle,Plsql,Oracle10g,我希望PLSQL中表的第一列是自动递增的。该列将是该表的主键。我听到了一个叫serialize的东西,但我没有得到关于它的正确描述。我在SQL Server工作。我是Oracle(PLSQL)的新手。请帮我找到合适的解决方案。创建序列 CREATE SEQUENCE name_of_sequence START WITH 1 INCREMENT BY 1 CACHE 100; 创建触发器 CREATE OR REPLACE TRIGGER trigger_name BEFORE

我希望PLSQL中表的第一列是自动递增的。该列将是该表的主键。我听到了一个叫serialize的东西,但我没有得到关于它的正确描述。我在SQL Server工作。我是Oracle(PLSQL)的新手。请帮我找到合适的解决方案。

创建序列

CREATE SEQUENCE name_of_sequence
  START WITH 1
  INCREMENT BY 1
  CACHE 100;
创建触发器

CREATE OR REPLACE TRIGGER trigger_name
  BEFORE INSERT ON table_name
  FOR EACH ROW
BEGIN
  SELECT name_of_sequence.nextval
    INTO :new.name_of_primary_key_column
    FROM dual;
END;
在11g中,触发器的语法变得简单了一些,因为您可以直接赋值到
:new.name\u of_primary\u key\u列
,而不是从dual中选择。我知道在12c中有一些额外的语法糖,这使得这更容易,尽管我还没有尝试过