读书人

esql 话语update的where条件里能不能嵌

发布时间: 2013-11-20 12:46:02 作者: rapoo

esql 语句update的where条件里能不能嵌套select????
esql 语句update的where条件里能不能嵌套select ?

static char o_sql_update_activeuser[] = "update Sacp_ActiveUsers set CurActiveUsers = CurActiveUsers-1 where CurActiveUsers > 0 and scpid = :1 and '1' in (select FirstLifeCall from sacp_basetab_ where isdn = :2)";


代码编译通过并执行成功了,但是表数据没变化,谁知道这个咋回事啊???
[解决办法]
可以
但是你这个查询我真心的看不懂!语法好特别
[解决办法]
使用其它工具连接数据库,直接执行上述构造的update语句。看能否成功。
[解决办法]

引用:
Quote: 引用:

可以
但是你这个查询我真心的看不懂!语法好特别


这个select没什么特别的啊,就是查一个字段,只要这个字段值为1,并且前面两个条件也符合,那么就update。

我现在把select单独拿出来执行,数据库居然报错。
代码:
EXEC SQL select firstlifecall into :firstlifecall from sacp_basetab_111 where isdn = 13012340000;

运行日志:
[2013-11-18 13:39:59][ Debug][sacp_fastdeleteuser.ecpp][1101] error: 100: ISAM error: duplicate value for a record with unique key.

可是这个select确实只会返回一条记录的啊!

你知道怎么回事吗?



这个是说主键值重复
你用的是什么数据库啊?怎么还要加个冒号?

读书人网 >C++

热点推荐