将数据插入SQL Server中的表列

Maj*_*ati 0 t-sql sql-server triggers

我有2列的表:SolarDate,GregorianDate

我有一个功能,可以在T-SQL中将格里高利日期转换为日期日期.当一行插入此表时,它只会生成填充GregorianDate列.

我想在插入一行时,SolarDate字段也被填充.

我需要触发器吗?或者另一件事?

我怎么能这样做?

mar*_*c_s 7

您可以使用触发器 - 或者只是根据您拥有的函数将您定义SolarDate计算列.

在这种情况下 - 您需要先删除SolarDate已有的列,然后再将其添加为计算列:

ALTER TABLE dbo.YourTable
ADD SolarDate AS dbo.DetermineSolarDate(GregorianDate)
Run Code Online (Sandbox Code Playgroud)

这将不断地自动确定SolarDate您何时需要该值,并且您无需为此设置触发器.