Explorando consultas ad hoc en el paquete SQL de Go
Si bien la documentación sugiere que consultar datos en Go usando el paquete SQL requiere conocer el número de columnas y tipos en tiempo de compilación, esto no es estrictamente cierto. El tipo sql.Rows ofrece una solución para consultas SQL flexibles y ad hoc.
Recuperación dinámica de metadatos de columnas
El método Columnas en sql.Rows proporciona una lista de los nombres de columnas de resultados. Esto le permite determinar dinámicamente el número de columnas devueltas por una consulta arbitraria.
Escaneo de tipos de datos desconocidos
El método Scan admite el escaneo de valores de tipos desconocidos en un segmento de bytes sin formato (*[]byte) o un valor de interfaz{}. Esto le permite recuperar datos de columnas sin predefinir su tipo.
Trabajar con consultas ad hoc
Combinando estas técnicas, puede ejecutar consultas ad hoc y recuperar datos en una porción de valores de interfaz{}:
columnNames, err := rows.Columns()
if err != nil {
// Handle error
}
columns := make([]interface{}, len(columnNames))
columnPointers := make([]interface{}, len(columnNames))
for i := 0; i Después de esto, el segmento de columnas contendrá los valores decodificados para todas las columnas en la fila de resultados. Al aprovechar los métodos de Columnas y Escaneo, puede manejar eficazmente consultas ad hoc en el paquete SQL de Go.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3