0

自動インクリメントfld_idとUnix datetimeのトリガーを作成するのに役立つ人は誰でもいます。私のテーブル フィールドは fld_id(int),fld_date(number),fld_value(varchar2) です。

私の挿入クエリは

insert into table (fld_value)values('xxx');
insert into table (fld_value)values('yyy');

このようなテーブルレコードが必要です

fld_id    fld_date     fld_value
1         1354357476    xxx
2         1354357478    yyy

これを作成するのを手伝ってください.私はこれを行うことができません..

4

1 に答える 1

1

シーケンシャル値にしたい場合fld_idは、シーケンスとトリガーを作成する必要があります

CREATE SEQUENCE sequence_name
  START WITH 1
  INCREMENT BY 1
  CACHE 20;

CREATE OR REPLACE TRIGGER trigger_name
  BEFORE INSERT ON table_name
  FOR EACH ROW
BEGIN
  SELECT sequence_name.nextval
    INTO :new.fld_id
    FROM dual;
  :new.fld_date := (SYSDATE - date '1970-01-01') * 60 * 60 * 24;
END;
于 2012-12-01T05:06:07.013 に答える