Вставка случайных данных в PostgreSQL, но с выбором - PullRequest
0 голосов
/ 03 апреля 2020

Итак, я вставляю данные для столбцов 3k, но я хочу, чтобы они вставляли произвольный набор вставок. Например:

('ATMOUTOFSERVICE', 'ATMBEINGSERVICE', 'NETWORKCONNECTIONLOST', 'BLACKSCREEN')

Есть ли какой-либо возможный способ, которым я могу вставить их в свои столбцы случайным образом, но только в пределах этих выбор

1 Ответ

2 голосов
/ 03 апреля 2020

Вы можете использовать что-то вроде этого:

insert into target_table (some_column)
select case (random() * 3 + 1)::int
          when 1 then 'ATMOUTOFSERVICE'
          when 2 then 'ATMBEINGSERVICE'
          when 3 then 'NETWORKCONNECTIONLOST'
          when 'BLACKSCREEN'
       end
from generate_series(1,...);

Или использовать массив:

insert into target_table (some_column)
select (array['ATMOUTOFSERVICE',
              'ATMBEINGSERVICE',
              'NETWORKCONNECTIONLOST',
              'BLACKSCREEN'])[(random() * 3 + 1)::int]
from generate_series(1, ...);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...