出于什么原因,SQL不允许使用语法@i = 100为变量赋值;?

flo*_*ode 0 sql t-sql sql-server

与编程语言不同,SQL不允许使用以下语法为变量赋值(相反,我们必须使用SETSELECT):

@i=100; //error
Run Code Online (Sandbox Code Playgroud)

SQL有什么不允许这样的特殊原因吗?

谢谢

Bil*_*win 9

为什么任何语言都使用它使用的语法?

维护约定,防止歧义并简化解析.

请注意,SET语句的语法(适当地称为赋值语句)类似于语句SET子句中的语法UPDATE:

UPDATE mytable SET somecolumn = 100;
Run Code Online (Sandbox Code Playgroud)


HLG*_*GEM 9

我相信他们故意这样做只是为了惹恼你.