标题:请高手帮忙,看看错在哪了?
只看楼主
sanctitude
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-10-9
 问题点数:0 回复次数:5 
请高手帮忙,看看错在哪了?

declare @LastDate varchar(8)
declare @Lastdate1 varchar(8)

//第一种方法
SET @LastDate=(SELECT MAX(sdate) FROM History)
SELECT @LastDate

//第二种方法
EXEC('SET '+@LastDate1+'=(SELECT MAX(sdate) FROM History)')
SELECT @LastDate1

//第一种方法可以正确返回结果

(所影响的行数为 1 行)

//第二种方法报错如下:

服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: '=' 附近有语法错误。

(所影响的行数为 1 行)

不明白第二种方法错在哪了,请高手指点,谢谢了先!

[此贴子已经被作者于2005-12-6 12:25:02编辑过]

2005-12-06 12:14
sanctitude
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-10-9
得分:0 

我是新手,各位多多指教!

2005-12-06 12:17
volte
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:69
帖 子:1167
专家分:1316
注 册:2004-12-19
得分:0 

你为什么要用''

和那个+

请你解释一下.


大家都是朋友,有空就来坐坐!
2005-12-07 13:52
makebest
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:658
专家分:962
注 册:2005-3-17
得分:0 

先问一下你自己如下表达式的结果是有效的 SQL 命令吗?

'SET '+@LastDate1+'=(SELECT MAX(sdate) FROM History)'

2005-12-08 19:38
jokey
Rank: 1
等 级:新手上路
威 望:1
帖 子:108
专家分:0
注 册:2006-5-23
得分:0 
我也不知道为什么,好象系统直接执行了SELECT MAX(sdate) FROM History,就直接把他显示出来,这样就导致了“=”附近出问题。

你可以这样测试看提示:把“=”去掉

猪猪最可爱了,我选择我猪猪.
2006-05-27 12:51
jimn2000
Rank: 2
等 级:新手上路
威 望:3
帖 子:274
专家分:0
注 册:2006-4-3
得分:0 

问题还没有结束呢


欢迎大家访问我的网站 www. 域名代理网站 web.
2006-06-04 17:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-36855-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.291789 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved