2012-10-27 214 views
0

我想对带有准备语句的先前查询中每个提取的行进行一次INSERT查询循环。在一个更直观的方式:准备好语句,同时提取准备好的语句

创建查询
    在拿
        - 让新的查询

,因为我需要它来保持我无法关闭我的发言正在工作...... 问题是,当我们使用准备好的语句时,我们必须在做一个新的准备()之前获取所有数据。那么,我怎么能这样做呢?也许没有声明,但这不是一个好的解决方案。

回答

1

如果您尝试这样做,您将要杀死您的数据库(并且如果您拥有DBA,您的DBA将会杀死您)。问题是你想要做的是每行向数据库发送一个inser请求。您必须为每行数据重复创建和处理所有这些命令。那就是昂贵的

如果你努力做到这一点,没有什么能阻止你在一个从第一个读取的循环中创建第二个准备好的语句(当然有不同的名字),但我强烈建议不要这样做。至少,缓冲您的传入数据并一次插入几百行。

+0

谢谢你的回答。真实情况是这样的:用户粘贴文本,这个文本被分成短语,然后所有这些短语都被其他短语固定。待所有人都修好后(可能需要几天时间),为了最终目的,我想将它们移到另一张桌子上。我知道的唯一方法是获得并重新安装。 – Kenedy

+0

那么,您的问题是否知道该短语是否已被修复,并且您想通过从一个表格到另一个表格进行比较来做到这一点? –

+0

嗯......问题是我不想让最后的桌子充满奇怪的东西。通过这种方式,我确信只有经过审核并且格式良好的数据才会进入决赛桌。所以......表1就像一个临时盒子,所有数据都在最后一个之前进入,就像一个队列。 – Kenedy