问题出在标题中,我想用GETDATE()
更新一个字段以获取执行查询时的当前时间,但它返回一个空值。我之前看到该列不能为nullable
,并且列默认值必须为“NULL
”才能生效,情况就是这样。
我希望GETDATE()
的列是'dt_saisie'
这是我的问题:
BEGIN
UPDATE [proliv_min].[dbo].[proliv_production]
SET
dt_saisie = GETDATE(),
dcf = null,
login = 'user',
commentaire = '[TEST] Update'
WHERE
id_kopf = (
SELECT
id
FROM
[proliv_min].[dbo].[proliv_kopf]
WHERE
1=1
AND cprj = '962753'
AND statut IS NULL
);
END
感谢您的帮助
皮尔
答案 0 :(得分:2)
您可以运行以下查询来更新数据。我已更改为在{where}条件中添加in
。因为如果您没有在select
语句中获取数据,则表格中不会进行更新。
BEGIN
UPDATE [proliv_min].[dbo].[proliv_production]
SET
dt_saisie = GETDATE(),
dcf = null,
login = 'user',
commentaire = '[TEST] Update'
WHERE
id_kopf in (
SELECT
id
FROM
[proliv_min].[dbo].[proliv_kopf]
WHERE
1=1
AND cprj = '962753'
AND statut IS NULL
);
END