0

limitオプションを使用する手順を作成したいinsert into.. with select.. またはcreate table as select.....

一度に 500K レコードのみを挿入するために使用したいlimitので、今回は 1.5mil レコードを挿入しようとしているので、今回は count3 を設定する while ループを使用しています。

call proc1( with long sql statement......................)


DELIMITER //               
CREATE PROCEDURE proc1(IN sqllines text)               
   BEGIN    

   DECLARE valFrom INT;                   
   DECLARE valTo   INT;                         
   DECLARE count INt  default 0;                

       SET @sqlin = sqllines;         
       SET valFrom = 0;          
       SET valTo = 500000;          
       SET @sql = ('@sqlin LIMIT valFrom , valTo');      

 WHILE count < 3 
 DO  

  PREPARE stmt from @sql;           
  EXECUTE stmt;       

  SET valFrom = valFrom+500000;          
  SET valTo = valTo+500000;           
  set count = count + 1;            

END WHILE;           

END;              
//          
DELIMITER ;  
4

1 に答える 1

0

申し訳ありませんが、変数を T-SQL の動的 SQL ステートメントに渡すことはできません。

詳細については、私自身がここに投稿した質問を参照してください。ここでの回答には、これに関する詳細な解決策があります。

于 2013-03-07T08:28:16.050 に答える