0

私は PostgreSQL を使用しており、以下の表を作成しました。

CREATE TABLE "TrainingMatrix"
(
  payroll text NOT NULL,
  "TrainingName" text NOT NULL,
  "Institute" text,
  "TrainingDate" date NOT NULL,
  "ExpiryDate" date,
  "RecorderName" text,
  "EnteringDate" date,
  CONSTRAINT "TrainingMatrix_pkey" PRIMARY KEY (payroll, "TrainingName", "TrainingDate")
)

EnteringDate入力されたレコードごとに、マシンの現在の日付によって自動的に入力されるようにしたい。

4

4 に答える 4

1
CREATE TABLE "TrainingMatrix"
(
  payroll text NOT NULL,
  "TrainingName" text NOT NULL,
  "Institute" text,
  "TrainingDate" date NOT NULL,
  "ExpiryDate" date,
  "RecorderName" text,
  "EnteringDate" date not null default current_timestamp,
  CONSTRAINT "TrainingMatrix_pkey" PRIMARY KEY (payroll, "TrainingName", "TrainingDate")
)

current_timestamp は Now() と同等で、現在の日付と時刻 (タイムゾーンを含む) を提供し ます http://www.postgresql.org/docs/8.1/static/functions-datetime.html

列を非 null として定義すると、タイムスタンプのないレコードが明示的に入力されないようにするのにも役立ちます。

于 2013-09-23T14:03:37.403 に答える
1
CREATE TABLE "TrainingMatrix"
(
  payroll text NOT NULL,
  "TrainingName" text NOT NULL,
  "Institute" text,
  "TrainingDate" date NOT NULL,
  "ExpiryDate" date,
  "RecorderName" text,
  "EnteringDate" date NOT NULL default current_date,--"EnteringDate" date,
  CONSTRAINT "TrainingMatrix_pkey" PRIMARY KEY (payroll, "TrainingName", "TrainingDate")
)
于 2013-09-23T14:05:58.217 に答える
0

デフォルトのキーワードを使用

column datatype default sysdate

こちらもチェック

11gのselectステートメントから新しく作成されたテーブルの列のデフォルト値を設定する方法

于 2013-09-23T13:58:03.453 に答える
0

デフォルトの sysdate を使用すると、目的の出力を達成できます。

CREATE TABLE "TrainingMatrix"
(
  payroll text NOT NULL,
  "TrainingName" text NOT NULL,
  "Institute" text,
  "TrainingDate" date NOT NULL,
  "ExpiryDate" date,
  "RecorderName" text,
  "EnteringDate" date default sysdate,
  CONSTRAINT "TrainingMatrix_pkey" PRIMARY KEY (payroll, "TrainingName", "TrainingDate")
)
于 2013-09-23T13:59:52.367 に答える