0

面接で聞かれた質問があります。私の質問は:

" " という名前のテーブルを 1 つ作成しました。EMPLOYEEフィールドemplnoemplname、制約付きですjoiningdateNOT NULLここで、従業員の詳細を'101','suresh','2014'. (誤って 2013 ではなく 2014 を挿入しました)。したがって、' 2013' の代わりに ' ' (現在の年) の値を挿入する必要があります2014

そして、この質問には答えられませんでした。それがどうあるべきかを理解するのを手伝ってもらえますか?

4

2 に答える 2

1

テーブルを更新するだけで、

UPDATE employee
SET joiningdate = '2013'
WHERE emplno = 101
AND emplname = 'suresh';

COMMIT;
于 2013-02-04T10:11:04.000 に答える
0

SQLServer では、計算列を含むテーブルを作成することもできます

CREATE TABLE dbo.EMPLOYEE
 (
  emplno int,
  emplname nvarchar(10),
  joiningdate AS YEAR(GETDATE())
  )

そしてINSERTステートメントは

INSERT dbo.EMPLOYEE
VALUES ('101', 'suresh')

DEFAULT 制約のある OR テーブル

CREATE TABLE dbo.EMPLOYEE
 (
  emplno int,
  emplname nvarchar(10),
  joiningdate nvarchar(10) NOT NULL DEFAULT YEAR(GETDATE())
  ) 

INSERT dbo.EMPLOYEE
VALUES ('101', 'suresh', DEFAULT)

SQLFiddle のデモ

于 2013-02-04T11:52:31.143 に答える