wangdapeng1973 发表于 2010-11-08 14:20

关于修改查询出的前几条记录的问题

请问各位大侠,如何修改数据表中的前几条记录,如:
修改查询出来的前4条记录,我写成update declaration set prtflag="0" where
                                                serino in (select first 4 serinofrom declaration)
但出944错, 944: Cannot use "first" in this context.
在子查询中不能使用first.
请问如何实现这种需求呢?最好是一条sql语句

liaoaifu85 发表于 2010-11-08 23:10

试试能不能通过rowid

wangdapeng1973 发表于 2010-11-09 08:18

rowid也试过了,也不行,finderr说 first的用法只限于主查询

yunzhongyue 发表于 2010-11-09 10:31

干嘛非要一条SQL处理啊?两条就不可以吗?:outu:

liaosnet 发表于 2010-11-09 14:23

要不写个SPL
{:3_196:}

wangdapeng1973 发表于 2010-11-09 14:51

我是通过odbc在excel里连接informix,在microsoft query里写sql,想尽了办法才使对excel vba的控件操作实现对后台informix数据库的修改,要是写成两条,如建立临时表什么的,会有更大的困难。

wangdapeng1973 发表于 2010-11-12 16:45

这样也不行,真是没有办法了---insert into tbl_rowid select first 4 rowid from declaration--- 944: Cannot use "first" in this context.

wangdapeng1973 发表于 2010-11-12 16:46

两条咋写呢
页: [1]
查看完整版本: 关于修改查询出的前几条记录的问题