sql >> Databasteknik >  >> RDS >> Mysql

Finns det någon listdatatyp i MySQL-lagrade procedurer, eller ett sätt att emulera dem?

Detta artikeln har en bra diskussion om problemet med att analysera en array till en lagrad procedur eftersom lagrade procedurer endast tillåter giltiga tabellkolumndatatyper som parametrar.

Det finns några snygga saker du kan göra med csv tabelltyp i mysql - det vill säga om du laddar en platt fil i db.

Du kan skapa en temporär tabell i den lagrade proceduren, iterera över csv-listan och infoga den i temptabellen och sedan skapa en markör som väljer värdena från den tabellen. Detta svar i ovan nämnda tråd visar ett sätt att göra detta.

I allmänhet skulle jag dela upp arrayen innan jag kommer till databasen och sedan utföra frågan individuellt på varje objekt.



  1. Hur felsöker jag fel som inte har något felmeddelande?

  2. Hur man väljer distinkta rader utan att använda grupp för uttalande

  3. Finns det några nackdelar med att alltid använda nvarchar(MAX)?

  4. Fördelar med NoSQL-databaser – Allt du behöver veta