CREATE TABLE [dbo].[Link] (
[l_id] [numeric](18, 0) IDENTITY (1, 1) NOT NULL ,
[l_url] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
[l_name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[l_img] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
[l_info] [varchar] (1000) COLLATE Chinese_PRC_CI_AS NULL ,
[l_isLock] [bit] NULL ,
[l_addtime] [datetime] NULL 
) ON [PRIMARY]将上面的sql语句转变成oracle语法的,主要是主键自增不会,不知道怎么能是主键自增。就知道怕可以是sequece,但是不知道怎么用。
高手帮帮忙,谢谢。

解决方案 »

  1.   

    create sequence seq_test
    minvalue 1
    maxvalue 999999999999999999999999999
    start with 1
    increment by 1;
      

  2.   

    select seq_test.nextval from dual;  --下一个值 
    select seq_test.currval from dual;  --当前值
      

  3.   

    CREATE TABLE Link ( 
    l_id number(18) NOT NULL , 
    l_url varchar2(500), 
    l_name varchar2(50), 
    l_img varchar2(500), 
    l_info varchar2(1000), 
    l_isLock number(1), 
    l_addtime date
    );CREATE SEQUENCE SEQ_Link START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;CREATE OR REPLACE TRIGGER TRI_Link BEFORE INSERT ON Link FOR EACH ROW 
    BEGIN 
    SELECT SEQ_Link.NEXTVAL INTO :NEW.l_id FROM dual;
    END;
    /