Вставить несколько строк в таблицу в postgresql - PullRequest
1 голос
/ 22 января 2020

Я добавил тысячу строк в одну из своих таблиц, работая на SQL сервере, я использовал что-то вроде:

DECLARE @cnt2 INT = 0;
WHILE @cnt2 < 1000
BEGIN
    insert into [MyDB].[dbo].[Table] (ID, LastName, FirstName, StreetAddress, City, ZipCode, PhoneNumber, Email, EnteringDate, GroupID)
    values (00+ Convert(varchar(5), @cnt2), 'StudentLastName-' + Convert(varchar(5), @cnt2), 'FirstName', 'Street',  'City', 'xx-xxx', '500-000-000', 'email@student.xyz', GETDATE(), 0, 1)
    SET @cnt2 = @cnt2 + 1;
END;

И это работает правильно, но мне нужно иметь подобный код для вставки значений во время используя PostgreSQL (я работаю с pgadmin).

Не могли бы вы помочь мне с этим?

Спасибо! :)

1 Ответ

0 голосов
/ 22 января 2020

В Postgres, generate_series() пригодится для такого рода задач, поскольку позволяет избежать необходимости в oop.

. Учитывайте:

insert into mytable (
    ID, 
    LastName, 
    FirstName, 
    StreetAddress, 
    City, 
    ZipCode, 
    PhoneNumber, 
    Email, 
    EnteringDate, 
    GroupID
)
select 
    n, 
    'StudentLastName-' || n::text,
    'FirstName', 
    'Street',  
    'City', 
    'xx-xxx', 
    '500-000-000', 
    'email@student.xyz', 
    now(), 
    0, 
    1
from generate_series(0, 999) as t(n)
...