数据库中怎么限制提交的条数?

数据库中怎么限制提交的条数?,第1张

这个要使用批量游标插入

我给你简单改写一下,你参考一下

declare

Type Type_AA Is Table Of table_2.aa%Type Index By Binary_Integer

a_Type_AA Type_AA

cursor cur_ALL is select b.aa from table_1 a,table_2 b where a.id=b.id

begin

open cur_ALL

loop

fetch cur_ALL Bulk Collect Into a_Type_AA limit 1000

forall i in 1..a_Type_AA.count

updae table_1 a set a.aa=a_Type_AA(i) where a.id in (select c.id from table_2 c) and trim(a.aa) is null

commit

exit when cur_ALL%notfound or cur_ALL%notfound is null

end loop

close cur_ALL

exception

when others then

if cur_ALL%isopen then

close cur_ALL

end if

end

这样每次只会更新1000条,而且是批量插入,没插入1000条更新一次

但是我建议你的sql要优化一下where a.id in (select c.id from table_2 c)这部分相当影响性能。

在mysql中,每个数据库最多可创建20亿个表,一个表允许定义1024列,每行的最大长度为8092字节(不包括文本和图像类型的长度)。当表中定义有varchar、nvarchar或varbinary类型列时,如果向表中插入的数据行超过8092字节时将导致Transact-SQL语句失败,并产生错误信息。SQL

Server对每个表中行的数量没有直接限制,但它受数据库存储空间的限制。每个数据库的最大空间1048516TB,所以一个表可用的最大空间为1048516TB减去数据库类系统表和其它数据库对象所占用的空间。

每次插入数据库之间,先查看数据库中的数据的数目,然后做限制。

我猜你的意思不是上面那样的,你应该是避免重复提交吧,

‘这个你在JS端做限制,当用户点击submit时候,要么隐藏submit要么让submit点击失效

或者设置cookie如果存在coolie不允许重复提交,还可以存库检验


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9982507.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存