无效的 SQL语句;期待 'DELETE'、'INSERT'、'PROCEDURE'、'SELECT'、或 'UPDATE'。

IF(SELECTLEN(ISNULL(val,''))FROMt_testwherename='ATT')>0beginupdatet_testsetval=val+'... IF (SELECT LEN(ISNULL(val, '')) FROM t_test where name = 'ATT') > 0
begin
update t_test set val = val + '123' where name = 'ATT'
end
else
begin
update t_test set val = '123' where name = 'ATT'
end

在Sql server里面运行正常,但在access中运行就出现如上错误。(无效的 SQL语句;期待 'DELETE'、'INSERT'、'PROCEDURE'、'SELECT'、或 'UPDATE'。)
展开
 我来答
AiDirac
2011-10-12 · TA获得超过6784个赞
知道大有可为答主
回答量:8833
采纳率:33%
帮助的人:1亿
展开全部
access的isnull不是那么用的
iif( IsNull(val), 0, val)
追问
后面判断语句怎么写?
也就是说IF (SELECT LEN(ISNULL(val, '')) FROM t_test where name = 'ATT') > 0 这个应该怎么改?谢谢!
追答
你先把if里面的语句在access里面单独执行,看看报错不.如果报错在执行我在这条.
我印象中应该是isnull的问题.因为两个数据库的isnull的用法不同.
SELECT LEN(iif( IsNull(val), '', val)) FROM t_test where name = 'ATT'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友805584b
2011-10-12 · 超过10用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:25.7万
展开全部
Sql server跟access有些函数用法啊什么的可能不一样吧, 还有就是access里面
update t_test set val = val + '123' where name = 'ATT'语句能执行么?
追问
可以执行的!试过了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
anysoft23
2011-10-13
知道答主
回答量:31
采纳率:100%
帮助的人:25.5万
展开全部
access 只支持简单的SQL
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kqf_zjj
2011-10-12 · TA获得超过257个赞
知道小有建树答主
回答量:254
采纳率:0%
帮助的人:156万
展开全部
关注 ,这个问题还真没碰到过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
贪婪之子
2011-10-12 · TA获得超过157个赞
知道小有建树答主
回答量:130
采纳率:100%
帮助的人:60.5万
展开全部
access不支持这些语句......
追问
那应该如何改呢,我的意思就是如果查到的字段是有值或空值对应不同的update语句。
追答
在程序里判断执行哪条update语句吧,单纯在access用sql语句好像实现不了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式