本文介绍了开始...每50行提交一次的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个500,000行的sql脚本。

I have a 500,000 line sql script.

update users set region_id = 9814746 where id = 101 and region_id is null;
update users set region_id = 9814731 where id = 102 and region_id is null;
update users set region_id = 3470676 where id = 103 and region_id is null;
...
....

我需要生成一个带有begin ...的脚本,每50行提交一次。
我该怎么做?
我将在pg-admin中运行它。

I need to be able to generate a script with begin...commit every 50 lines.How do I do this?I'll be running this in pg-admin.

谢谢,
Sharadov

Thanks,Sharadov

推荐答案

这可能是一个不错的开始:

cat sql.file | perl -e’i = 0;打印 begin; \n; while(<>){print; i ++; if(i%50 == 0){print end; \nbegin; \n;}} print end\n;’ outputsql.file

This might be a good start:
cat sql.file | perl -e 'i=0;print "begin;\n"; while(<>){print;i++;if(i % 50 == 0){print "end;\nbegin;\n";}}print "end\n";' > outputsql.file

这篇关于开始...每50行提交一次的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-23 23:53