Как занести тестовые данные в таблицу 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
Настройка полнотекстового поиска fulltext search в SQL Server
Как организовать бизнес-логику в хранимых процедурах SQL Server. Реализация слоя BLL в SQL
Индексы SQL Server. Поиск дубликатов
Запрос для получения SQL всех индексов для таблиц базы данных SQL Server
Как перестроить все индексы на базе SQL Server
Как разрезать строку на части в SQL по некоторому символу
Конвертация из строки в таблицу в SQL Server
Выполнение прямого запроса к URL из SQL
SQL Server Как установить у таблицы описание (MS Description)
Как получить текущего юзера БД
Ищем партнеров-разработчиков на T-SQL и PL/pgSQL
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта