2012-10-27 271 views
0

我想對帶有準備語句的先前查詢中每個提取的行進行一次INSERT查詢循環。在一個更直觀的方式:準備好語句,同時提取準備好的語句

創建查詢
    在拿
        - 讓新的查詢

,因爲我需要它來保持我無法關閉我的發言正在工作...... 問題是,當我們使用準備好的語句時,我們必須在做一個新的準備()之前獲取所有數據。那麼,我怎麼能這樣做呢?也許沒有聲明,但這不是一個好的解決方案。

回答

1

如果您嘗試這樣做,您將要殺死您的數據庫(並且如果您擁有DBA,您的DBA將會殺死您)。問題是你想要做的是每行向數據庫發送一個inser請求。您必須爲每行數據重複創建和處理所有這些命令。那就是昂貴的

如果你努力做到這一點,沒有什麼能阻止你在一個從第一個讀取的循環中創建第二個準備好的語句(當然有不同的名字),但我強烈建議不要這樣做。至少,緩衝您的傳入數據並一次插入幾百行。

+0

謝謝你的回答。真實情況是這樣的:用戶粘貼文本,這個文本被分成短語,然後所有這些短語都被其他短語固定。待所有人都修好後(可能需要幾天時間),爲了最終目的,我想將它們移到另一張桌子上。我知道的唯一方法是獲得並重新安裝。 – Kenedy

+0

那麼,您的問題是否知道該短語是否已被修復,並且您想通過從一個表格到另一個表格進行比較來做到這一點? –

+0

嗯......問題是我不想讓最後的桌子充滿奇怪的東西。通過這種方式,我確信只有經過審覈並且格式良好的數據纔會進入決賽桌。所以......表1就像一個臨時盒子,所有數據都在最後一個之前進入,就像一個隊列。 – Kenedy