Art*_*yan 5 sql-server sql-server-2014
我有一张像
CREATE TABLE Mytable (ID int identity, Name nvarchar(10));
GO
INSERT INTO MyTable (Name) VALUES ('test1');
INSERT INTO MyTable (Name) VALUES ('test2');
GO
ALTER TABLE MyTable ADD CONSTRAINT DF_Name DEFAULT('test') FOR Name;
Run Code Online (Sandbox Code Playgroud)
现在我想像这样更新我的 Name 列:
Update MyTable
set name = case ID when 1 then DEFAULT END;
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
关键字“DEFAULT”附近的语法不正确
如何在子句中使用UPDATE
withDEFAULT
语句CASE
?
你不能。
更新语法的相关位是
SET column_name = { expression | default | null }
Run Code Online (Sandbox Code Playgroud)
您只能使用default
关键字代替表达式,而不能在表达式内使用。因此,您要么需要直接使用默认值(可以从系统视图中查找为动态的),要么将其溢出到带有适当的互斥where
子句的两个更新语句中- 一个使用default
,第二个使用表达式 - 如果你真的想使用那个关键字。
归档时间: |
|
查看次数: |
5648 次 |
最近记录: |