CREATE TABLE #Tempcard
(
Clubcard BIGINT NULL,
DateTime DATETIME NULL
)
WHILE 1=1
BEGIN
WITH EventsTop1000
AS
(
SELECT top 200 Clubcard,DateTime
FROM Clubcard
WHERE(DATEDIFF(DAY ,Clubcard.DateTime ,getdate())>120))
DELETE EventsTop200
OUTPUT DELETED.*
INTO #Tempcard;
IF (@@ROWCOUNT = 0)
BREAK;
END
ここでは、バッチ挿入を実行しています。レコードを#Tempcard
テーブルに挿入すると、テーブルClubcard
からデータを削除したくないですが、Clubcard
から次のデータセットをフェッチして、データを#Tempcard
に再度挿入する必要があります。SQL Serverでバッチ・ワイズを使用して問題を挿入してください
私のレコードが1020の場合、1000レコードしか挿入されず、残りの20レコードが挿入されないことがわかります。
問題の解決方法を教えてください。
この問題を解決するにはコード全体を教えてください – happysmile
私はあなたがしたいことや問題が何であるかをよく理解していませんでした。一度に200レコードを挿入するループが必要ですか?もしそうなら、クラブカードにIDフィールドはありますか? –
@happysmile前のコメントを読んでください、私はあなたにタグを忘れました。 –