Прежде всего, я люблю переполнение стека, вы все очень полезны ..
У меня есть ситуация, у меня есть таблица с такими данными;
1 - Apple
2 - Bananna
3 - Pear
4 - Orange
5 - Plum
Я мог бы сделатьчто-то вроде этого;
DECLARE @C INT = 0
WHILE (@C < 3)
BEGIN
INSERT INTO tbl1 (ID,Name)
SELECT * FROM tbl2 -- THIS WILL CONTAIN 5 Rows
SET @C+=1
END
Так что все закончилось бы так:
1 - Apple
2 - Bananna
3 - Pear
4 - Orange
5 - Plum
1 - Apple
2 - Bananna
3 - Pear
4 - Orange
5 - Plum
1 - Apple
2 - Bananna
3 - Pear
4 - Orange
5 - Plum
Теперь я мог бы пойти и поставить цикл while 3 раза и сделать, однако этот скрипт выборадолжно повторяться 400 000 раз, поэтому использование insert-> select-> insert-> select и т. д. вызовет значительную перегрузку.Я хочу сделать что-то вроде этого:
INSERT INTO tbl1
SELECT
ID,
Name,
@C = COUNT(ID)
FROM tbl2
WHERE @C < 3
Я не знаю, возможно ли это вообще, однако другой метод использует COMMIT, но я не знаю, как это эффективно использовать.