Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Existe algum tipo de dados de lista nos procedimentos armazenados do MySQL ou uma maneira de emulá-los?


Isso O artigo tem uma boa discussão sobre o problema de analisar uma matriz para um procedimento armazenado, pois os procedimentos armazenados permitem apenas tipos de dados de coluna de tabela válidos como parâmetros.

Há algumas coisas legais que você pode fazer com o csv table type no mysql - isto é, se você estiver carregando um arquivo simples no db.

Você pode criar uma tabela temporária no procedimento armazenado, iterar sobre a lista csv e inseri-la na tabela temporária e, em seguida, criar um cursor que seleciona os valores dessa tabela. Esta resposta no tópico acima mencionado mostra uma maneira de fazer isso.

Geralmente eu dividiria a matriz antes de chegar ao banco de dados e, em seguida, realizaria a consulta individualmente em cada item.