Vectores o matrices en SQL Server


Si bien en SQL Server no hay vectores, hay una alternativa denominada parámetros de valores de tabla.
Básicamente es una variable que se comporta como tabla en SQL Server y que acepta insert, delete, update como una tabla normal, pero es una variable.

Para crearla, se define el tipo de dato:

CREATE TYPE Departamento AS TABLE
(
ID INT, Nombre VARCHAR(30)
);
GO

Estamos creando una variable llamada departamento que es una tabla con los campos ID y Nombre.

El resto es declarar la nueva variable creada:

DECLARE @miDepa AS Departamento

Y se puede insertar valores en esta variable:

INSERT INTO @miDepa VALUES
(1,'IT'),
(2,'Ventas'),
(3,'Finanzas')

O hacer un select:

SELECT * FROM @miDepa


Y ahora como llamo a esta variable en SQL Server?

El procedimiento almacenado recibe como entrada una variable del tipo tabla. El resto es llenar la tabla X.

CREATE PROCEDURE llenatabla
@table departamento READONLY
AS
INSERT INTO dbo.Departamento
SELECT ID,Nombre

FROM @table

Finalmente es simplemente pasar el parámetro al procedimiento almacenado.

EXEC dbo.llenatabla @miDepa

0 nhận xét:

Đăng nhận xét