Как занести тестовые данные в таблицу SQL Server

Для этого можно использовать следующий шаблон: 

declare @i int =1

while @i < 200 begin

INSERT INTO [dbo].[tst_finances]
           ([fromID],[toID] ,[typeID],[statusID],[sum],[created],[projectID],[factPayed])
     VALUES
           ((SELECT TOP 1 id FROM tst_customers ORDER BY NEWID())
           ,(SELECT TOP 1 id FROM tst_customers ORDER BY NEWID())
           ,(SELECT TOP 1 id FROM tst_finTypes ORDER BY NEWID())
           ,1
           ,rand()* 100000
           ,dateadd(day, - rand()*5000, getdate())
           ,(SELECT TOP 1 id FROM tst_projects ORDER BY NEWID())
           ,dateadd(day, - rand()*1000, getdate())  )
	set @i = @i + 1

end 

Рассмотрим отдельные элементы. 

1. Вставка N строк - делаем цикл while и внутри insert. 

2. Для заполнения значения по внешнему ключу необходимо выбрать случайную строку из родительской таблицы: 

(SELECT TOP 1 id FROM tst_customers ORDER BY NEWID())

3. Получение случайного числа от 0 до N:

select rand()* 100000, cast(rand()* 100 as int) 

4. Получение случайной даты (от 0 до N дней назад)

dateadd(day, - rand()*1000, getdate()) 

5. Генерация случайной строки: 

select left(NEWID(),7)

Таким нехитрым способом можно очень быстро занести в таблицу любое количество строк.11

Насколько полезной была статья?

Что еще посмотреть по SQL Server

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
Сайт использует Cookie. Правила конфиденциальности OK