#799

Įterpk pranešimų partiją ir iš karto pasiimk jų id

Darai pranešimų išsiuntimą iš karto keliems vartotojams. Įterpinėti po vieną eilutę reiškia keturis kreipimusis (round-trip) plius riziką, kad servisas persikraus tarp jų. Vienas INSERT su keliomis reikšmėmis plius sugeneruotų identifikatorių grąžinimas išsprendžia abi problemas. Lentelė notifications(id SERIAL, user_id, msg) kol kas tuščia. Pridėk iš karto keturias eilutes: (user_id = 1, msg = 'hello'), (user_id = 2, msg = 'hi'), (user_id = 1, msg = 'again'), (user_id = 3, msg = 'welcome') — ir toje pačioje komandoje grąžink sugeneruotas id reikšmes kartu su user_id.

Laukiamo rezultato pavyzdys

Taip atrodo teisingas atsakymas — jo eilučių skaičius yra savitas, jis neprivalo sutapti su schemos lentelėmis.

iduser_id
11
22
31

Jūsų užklausos rezultatas bus rodomas čia