SQL 语句:
declare @i int
set @i=2
exec ( 'select top '+@i+ ' * from ticket where
seatgrade= 'top ' ')
在MS-sql中会提示top附近出错。假如是seatgrade= '1 '这样就没问题,为什么数字就没问题,字符串就会出错呢?
------解决方案--------------------
declare @i int
set @i=2
exec ( 'select top '+@i+ ' * from ticket where
seatgrade== ' 'top ' ' ')
就可以了,SQL中 '是转义符。
' 'top ' ' '中有5个 ' ,第1个和第3个是转义符。
其他3个就不用解释了吧?