Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Gibt es einen Listendatentyp in gespeicherten MySQL-Prozeduren oder eine Möglichkeit, sie zu emulieren?

Dies Der Artikel enthält einige gute Diskussionen über das Problem, ein Array in eine gespeicherte Prozedur zu parsen, da gespeicherte Prozeduren nur gültige Tabellenspalten-Datentypen als Parameter zulassen.

Mit der csv Tabellentyp in mysql - das heißt, wenn Sie eine flache Datei in die Datenbank laden.

Sie könnten eine temporäre Tabelle in der gespeicherten Prozedur erstellen, die CSV-Liste durchlaufen und in die temporäre Tabelle einfügen und dann einen Cursor erstellen, der die Werte aus dieser Tabelle auswählt. Diese Antwort in dem oben erwähnten Thread zeigt eine Möglichkeit, dies zu tun.

Im Allgemeinen würde ich das Array aufteilen, bevor ich zur Datenbank komme, und dann die Abfrage für jedes Element einzeln durchführen.