w triggerze uruchamiam takie zapytanie:
INSERT INTO mails ( recipient_id, campaign_run_content_id, instance_id, run_at ) SELECT recipient_id, NEW.campaign_run_content_id, ( SELECT instance_id FROM accounts_instances WHERE account_id = v_campaign.account_id ORDER BY RANDOM() LIMIT 1 ), v_campaign.run_at FROM groups_recipients WHERE group_id = v_campaign.id ;
Mam drobny problem z losowym przypisaniem wartości do pola instance_id. Zapytanie to przerzuca mi część danych z innej tabeli i dla każdego wiersza chciałbym aby wpisało losowy identyfikator instancji (z tabeli accounts_instances). Aktualnie wszystkie wiersze otrzymują tą samą liczbę. Domyślam się, że chodzi tutaj o jakiś cache. Czy można się tego pozbyć? Co zrobić aby każdy wstawiany rekord otrzymywał losowy numer?
Pozdrawiam,
pion
// Edit:
Na chwilę obecną poradziłem sobie przenosząc podzapytanie do funkcji, ale z czystej ciekawości chciałbym się dowiedzieć czy jest to możliwe bez pisania osobnej funkcji.