只是想知道我是否有办法限制行数 这将受到UPDATE语句的影响....我正在考虑使用像LIMIT语句这样的东西,但在PERVASIVE中没有这样的东西,任何提示?
谢谢
答案 0 :(得分:1)
这似乎有用......
更新TableName SET ColumnName = value WHERE ID IN(从TableName WHERE CONDITION中选择前100个ID)
无论你的“限制”是什么,都要获得TOP 100。然后,只需适当更新WHERE子句。
答案 1 :(得分:1)
TOP 100
这个想法可行,但根据您的数据,它可能会扭曲测试正确性或性能。它也很难写。我认为添加基于RANDOM
的条款可以更好一些。
UPDATE t SET c = blah
WHERE (/* whatever bunch of stuff */)
AND Random()<0.01 /* 1 percent */
如果你的数据库随机给出0到1之间的值,并且可以针对不同的随机函数和密度进行修改,则此方法有效。
答案 2 :(得分:0)
如果你只是小心,为什么不计算你要更新的行?
select count(*) from MYTABLE WHERE ...some condition...;
如果计数足够低,这实际上是切割的&amp;粘贴到更新:
update MYTABLE set col1 = val1, ... WHERE ...some condition...;
根据需要加入脚本语言,pl / sql或存储过程。