SQL中查询语句为什么不可以这样用

DECLARE@test1INTSET@test1=222selecttop@test1*fromNewsInfo... DECLARE @test1 INT
SET @test1 = 222
select top @test1 * from NewsInfo
展开
 我来答
百度网友7558ae7
2013-06-25 · TA获得超过5797个赞
知道小有建树答主
回答量:1730
采纳率:50%
帮助的人:1705万
展开全部

这样不行的哦﹐要动态组成SQL

DECLARE @test1 INT
DECLARE @SQL VARCHAR(1000)
SET @test1 = 222
SET @SQL='select top '+CONVERT(VARCHAR,@test1)+' * from NewsInfo'
EXEC(@SQL)
追问

能不能加个好友啥的   交

个朋友 我想向你学习  而且如果在VS中应该怎么写呢

这样子写 他会报错的

追答
这样的语句一般是在查询分析器里用的,如果你要这样用估计得写成SQL存储过程,然后调用存储过程就好了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式