不知哪里写错了
不知哪儿写错了你试试,加上括号,也就是top 变量,那么必须要加上括号,比如:declare @num intset @num 10s
不知哪儿写错了
你试试,加上括号,也就是top 变量,那么必须要加上括号,比如:
declare @num int
set @num = 10
select top @num *
from sys.objects
/*
消息 102,级别 15,状态 1,第 7 行
'@num' 附近有语法错误。
*/
加上括号就对了,不会报错:
declare @num int
set @num = 10
select top (@num) *
from sys.objects
试了一下,确实加个括号,有时不需要加括号,有时又要加
这个是这样的,如果你只是用一个数字,那么可以不加括号,但是由于你上面的代码是用了变量的,也就是动态的,不是静态的数字,所以要加上括号哈,这个就是一个语法习惯。