如何在 table 中添加具有默认值的列
How can I add a column in a table with a default value
我正在使用 Azure Data Studio 并尝试向默认计算的 table 添加一列。到目前为止,我已经尝试了以下代码:
alter table ETUDIANT add age int;
alter table ETUDIANT add constraint default_etudiant_age default(datediff(year, sysdatetime(), DateN));
alter table ETUDIANT add age int default(datediff(year, sysdatetime(), DateN));
没有用.. 任何人都知道可能出了什么问题吗?
我想你真的想要一个计算列?
数据库总是为您计算,而您从不自己提供值?
alter table ETUDIANT add age as (datediff(year, sysdatetime(), DateN)) persisted;
编辑:
或者,也许是触发器?
CREATE TRIGGER trg_ETUDIANT_AfterInsert
ON ETUDIANT
AFTER INSERT
AS
UPDATE ETUDIANT AS t
SET t.age = t.datediff(year, sysdatetime(), DateN)
FROM Inserted AS i
WHERE t.PK = i.PK;
-- Where PK is whatever unique key(s) exist on your table
我正在使用 Azure Data Studio 并尝试向默认计算的 table 添加一列。到目前为止,我已经尝试了以下代码:
alter table ETUDIANT add age int;
alter table ETUDIANT add constraint default_etudiant_age default(datediff(year, sysdatetime(), DateN));
alter table ETUDIANT add age int default(datediff(year, sysdatetime(), DateN));
没有用.. 任何人都知道可能出了什么问题吗?
我想你真的想要一个计算列?
数据库总是为您计算,而您从不自己提供值?
alter table ETUDIANT add age as (datediff(year, sysdatetime(), DateN)) persisted;
编辑:
或者,也许是触发器?
CREATE TRIGGER trg_ETUDIANT_AfterInsert
ON ETUDIANT
AFTER INSERT
AS
UPDATE ETUDIANT AS t
SET t.age = t.datediff(year, sysdatetime(), DateN)
FROM Inserted AS i
WHERE t.PK = i.PK;
-- Where PK is whatever unique key(s) exist on your table