NutzCN Logo
问答 nutz dao update是否可以限制更新的行数
发布于 2803天前 作者 qq_5a594d67 1926 次浏览 复制 上一个帖子 下一个帖子
标签:

一个表的更新,我想限制只更新1000条记录。我通过下面的SQL语句没有办法限制。有没有什么通用的写法。不想直接写rownum<1000这种与数据库绑定的写法。

dao.update("record_push_repeat"
				,Chain.make("sts", currFlag)
				,Cnd.where("company_id","=",companyId)
                .and("push_type","=",pushType)
                .and("sts","=","0").limit(1, 1000));
解析后的SQL语句: UPDATE record_push_repeat SET sts=?  WHERE company_id=? AND push_type=? AND sts=?
3 回复

据我所知, SQL没有定义这种通用语法.

手工写一个sql语句,后面跟select子句,连接一个子查询作为虚拟表,应该可以实现。但是特定于某个数据库了。

我是准备用Sql对象封装SQL语句.:UPDATE record_push_repeat SET sts=@currFlag WHERE company_id=$companyId AND push_type=$pushType AND sts=$sts and rownum<@rownum
但这样就跟数据库相关了。想弄一个通用的写法。

添加回复
请先登陆
回到顶部