0

我有一个问题,我在一次采访中被问到。我的问题是:

我创建了一个名为 " " 的表,其中EMPLOYEE包含字段emplno,emplname和约束。在这里,当我将员工详细信息插入为. (我错误地插入了 2014 而不是 2013)。所以现在应该插入“”(当前年份)值而不是“ ”。joiningdateNOT NULL'101','suresh','2014'20132014

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

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 回答