How can INSERT INTO a table 300 times within a loop in SQL?

insert data into table + using while loop
sql loop through table and insert into another table
how to insert multiple rows in sql using loop
sql for each loop insert
sql while loop insert into temp table
create and insert into table sql
sql insert range of values into table
update using while loop in sql server

I would like to insert a value retrieved from a counter in SQL and repeat it 300 times.

Something like:

DECLARE @Counter = 0;

-- BEGIN Loop 
    SET @Counter = @Counter + 1 
    INSERT INTO tblFoo VALUES(@Counter)
-- REPEAT 300 times

How can I achieve this? Thanks

You may try it like this:

DECLARE @i int = 0
WHILE @i < 300 
BEGIN
    SET @i = @i + 1
    /* your code*/
END

How to insert 1000 rows at a time, I create a student table with three column id, student,age . show you this example declare @id StoredProcedure; SqlParameter names = cmd. You can of course use a loop, or you can insert them in a single statement, e.g. But sometimes there is a need to loop through the data one row at a time, so in this tip we will look at a comparison of how to do a loop without using cursor. Solution We all know that SQL Server, like every relational database allows the user to perform set based operations.

DECLARE @first AS INT = 1
DECLARE @last AS INT = 300

WHILE(@first <= @last)
BEGIN
    INSERT INTO tblFoo VALUES(@first)
    SET @first += 1
END

How can INSERT INTO a table 300 times within a loop in SQL?, create and insert into table sql while loop in sql server stored procedure. I would like to insert a value retrieved from a counter in SQL and repeat it 300 times. Summary: in this tutorial, you will learn how to insert new rows into a table using the PostgreSQL INSERT statement. When you create a new table, it does not have any data. The first thing you often do is to insert new rows into the table. PostgreSQL provides the INSERT statement that allows you to insert one or more rows into a table at a time.

I would prevent loops in general if i can, set approaches are much more efficient:

INSERT INTO tblFoo
  SELECT TOP (300) n = ROW_NUMBER()OVER (ORDER BY [object_id]) 
  FROM sys.all_objects ORDER BY n;

Demo

Generate a set or sequence without loops

Inserting million of rows with help of while loop - MSDN, In a table with 10 rows of data and five columns i need to insert a millions of rows repeating first 10 rows using while loop in sql server use 10 insert queries inside loop and run it 100,000 times which will make it million records. 100x3= 300 rows will be insert into @tableresult table --if one million time  I have two tables. One table A has n rows of data and the other table B is empty. I want to insert n rows into table B, 1 row for each row in table A. Table B will have a couple of fields from table A in it, including a foreign key from table A. In the end I want one row in B for each row in A. To do this I used:

In ssms we can use GO to execute same statement

Edit This mean if you put

 some query

 GO n

Some query will be executed n times

How to Insert N Numbers into a SQL Server Table using WHILE Loop, To insert all even numbers between 100 and 300 into a table using WHILE Loop in a single transaction use the following code: DECLARE  I would like to insert a value retrieved from a counter in SQL and repeat it 300 times. Something like: DECLARE @Counter = 0; -- BEGIN Loop SET @Counter = @Counter + 1 INSERT INTO tblFoo VALUES(@Counter) -- REPEAT 300 times

SQL While loop: Understanding While loops in SQL Server, The article explains how to use the SQL While loop in Microsoft SQL Server Let's now see how the SQL While loop is used to insert dummy records in a database table. We will create one table i.e. Cars within the CarShop database​. loop will be used to select two records from the Cars table at a time. The below examples illustrates how we can loop through table records in various ways. And also highlights the problem if any. Please go through all the examples before deciding on using one particular approach. Example 1: Looping column having no gaps/duplicate values. Approach 1: Looping through table records with static loop counter

How can I loop through all rows of a table in MySQL?, To loop through all rows of a table, use stored procedure in MySQL. 1 row affected (0.13 sec) mysql> insert into AllRows values(300,'Sam');  The variable i in the for loop is implicitly declared as integer type and has scope only within the for loop. The MOD() function determines whether the value of the variable is perfectly divisible by 2. if true, then the insert command inserts a record into the temp table with the values mentioned above.

INSERT, You can use the INSERT statement to insert data into a table, partition, or view in Oracle Database SQL Tuning Guide for information on statistics gathering it must return a collection value—that is, a value whose type is nested table or varray. column in the target DML table, then the DML statement fails at parse time.

Refactoring SQL Applications, As row-level locking cannot be applied to MyISAM tables, I have a sec) I inserted into this table 300 rows with state R as in Ready and a value of 0 for counter.

Comments
  • stackoverflow.com/questions/6069024/…
  • In SQL, you should generally try to write set-based code, not procedural, step by step code. So, the SQLish thing to ask for is "how do I insert 300 rows into my table, where each row gets a unique value from the range 1-300?"
  • Thanks for the answer Tim. Question: So here do I assume there is 300 sys.all_objects for sure? What if I wanted to insert even 10 thousand?
  • @pencilCake: i recommend to read the article i've posted. It shows other techniques as well. Actually you'll get problems with above approach with more than two thousand. I'd use a numbers-table.
  • On the other hand, if loops are not good idea in SQL, then I wonder why they introduced WHILE loops in T-SQL?
  • @pencilCake: there are things that aren't possible without loops or at least it isn't worth to implement a set based approach (which can take more time). So if you're doing this only once it might be sufficient to use a loop. But many people(programmers especially) are used with loops and keep using them in sql.