应在插入时存储默认值

时间:2013-02-04 09:59:57

标签: sql

我有一个问题,我在接受采访时被问到。 我的问题是:

我创建了一个名为“EMPLOYEE”的表格,其中包含emplnoemplnamejoiningdate字段NOT NULL约束。 这时我将员工详细信息插入'101','suresh','2014'。 (我错误地插入了2014而不是2013)。 因此,现在应插入“2013”(今年)值,而不是“2014”。

对于这个问题,我无法回答。你能帮我理解它应该是什么吗?

2 个答案:

答案 0 :(得分:1)

您只需更新表格

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

COMMIT;

答案 1 :(得分:0)

在SQLServer中,您还可以使用计算列

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

然后INSERT语句将是

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

OR表与DEFAULT约束

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上的演示