SQL innato

SQL innato
Una matriz es parte del tipo de colección en SQL, como se introdujo en SQL 99. Una matriz es una colección de elementos de longitud predefinida y tipo de datos. Una matriz puede ser de cualquier tipo definido por el usuario o debido a una operación SQL que devuelve un conjunto de resultados de la matriz.

También puede tener una variedad de longitudes variables utilizando un Multiset introducido en SQL 2003.

Puede obtener más información en el recurso proporcionado a continuación:

https: // sql-99.readthedocs.IO/EN/Último/Capítulos/10.html

Nota: Aunque el estándar ANSI SQL admite el tipo de matriz, algunos motores SQL aún no lo admiten.

SQL Crear matriz

Podemos crear una matriz declarando un tipo de matriz y luego configurando una variable de matriz del tipo de establecimiento.

A continuación se muestra una sintaxis de ejemplo:

Crear tipo Intarray como matriz entero [100];

La sintaxis anterior crea un tipo de matriz Intarray.

Sql inneceso

Para seleccionar datos de una matriz, utilizamos la función inneces. Esta función toma una matriz y devuelve una tabla con una fila para cada elemento en la colección especificada.

La sintaxis de la función es como se muestra:

Unnest (matriz) [con desplazamiento]

Tome el siguiente ejemplo:

Seleccione * de Unnest ([1,2,3,4,5]) como ID con desplazamiento como orden de desplazamiento por desplazamiento;

En la consulta de ejemplo anterior, utilizamos la función inneces.

NOTA: Usamos la instrucción con desplazamiento para implementar el orden de los valores de la fila, porque la función innata destruirá el orden de los elementos en la matriz especificada. Por lo tanto, puede omitir el orden por cláusula si no le importa el orden de los elementos.

Consulta matrices anidadas

En algunos casos, puede encontrar una variedad de estructuras. Para acceder y consultar los campos de estructura, debe desempaquetarlos utilizando la cláusula Unnest Unnest.

A continuación se muestra un ejemplo simplista:

Crear tipo Intarray como matriz entero [100];
Declarar array_ids intarray;
Establecer array_ids = array [1,2,3,4,5];
Seleccione * de unir unnest (array_ids) como id;

En el ejemplo anterior, comenzamos declarando un tipo de matriz. A continuación, usamos un constructor de matriz para inicializar la matriz con nuevos valores.

Finalmente, usamos la función innéstica para seleccionar los elementos en la matriz en una tabla de fila.

A continuación se muestra un ejemplo más práctico:

Con sitios como (
Seleccione "Sitios" como sitio,
[struct ("Linuxhint" como Site_name, ["Golang", "Rust", "SQL_Server", "Redis"] como Site_Topics)] como sitios
);
SELECCIONAR
sitio, sitio_topics
De los sitios s
Cross unirse a Unnest (s.sitios) como sitio;

La consulta anterior debe devolver la salida como se muestra a continuación:

+-------+---------------------------------------------------------+
| sitio | sitio_topic |
+-------+---------------------------------------------------------+
| Sitios + Linuxhint, ["Golang", "Rust", "SQL_Server", "Redis"] |
+-------+---------------------------------------------------------+

Conclusión

Este artículo cubre los fundamentos de trabajar con los tipos de colección SQL y la definición de función innatos. Tenga en cuenta que esto puede variar según el motor de la base de datos y si se implementa o no el tipo de matriz o no. Esperamos que hayas encontrado este artículo útil. Consulte los otros artículos de Sugerencia de Linux para obtener más consejos y tutoriales.

Para la documentación concreta sobre las matrices estándar de SQL, consulte el recurso a continuación.