Variables SQL: Conceptos Básicos

Las variables SQL son una herramienta importante para almacenar y manipular datos a través de programación en una base de datos de SQL server. Estas variables permiten definir una cantidad específica de datos, que pueden ser utilizados en diversas partes de una consulta.

Estas son similares a las variables en otros lenguajes de programación, pero al que tener en cuenta: En primer lugar, las variables SQL server no tienen un tipo de datos explícito, a diferencia de otros lenguajes de programación. Esto significa que una variable en SQL puede almacenar cualquier tipo de dato, como números, texto o fechas.

Tipos de Variables en SQL

En SQL, las variables se pueden dividir en dos categorías principales: variables locales y variables globales.

  1. Variables locales: Son aquellas que se definen en el ámbito de un procedimiento almacenado, un bloque de código o una función, y solo están disponibles dentro de ese ámbito. Por lo general, se usan para almacenar valores temporales y pasarlos a otras partes del código. Las variables SQL locales comienzan con @
  2. Variables globales: Son aquellas que se definen a nivel de sesión o de conexión y están disponibles para todos los procedimientos almacenados, funciones y bloques de código que se ejecuten durante la sesión o conexión actual. Por lo general, se usan para almacenar valores que deben estar disponibles. La variable SQL global comienza con @@

Sin embargo, estaremos desarrollando el tema en las variables SQL locales las cuales se utilizan para fines específicos en una consulta, en un procedimiento, cursor, etc…

Sintaxis para declarar variables SQL Locales

La sintaxis para declarar variables SQL Server usando la instrucción DECLARE es:

DECLARE @variable_nombre tipo_datos [ = valor_inicial ],
        @variable_nombre tipo_datos [ = valor_inicial ], ...;

Declarando variable SQL

Para declarar una variable en SQL, se utiliza la sentencia «DECLARE» seguida del nombre de la variable, su tipo de datos y su valor inicial (opcional)

 DECLARE @variable_nombre INT;

Agregar valor a variable SQL

Las variables en SQL también pueden ser asignadas a nuevos valores en cualquier momento. De esta forma podemos asignar valor a la variable.

SET @variable_nombre = 20;

Ejemplo usando variables SQL 

DECLARE @Pais varchar(50);

SET @Pais ='Mexico';

SELECT NOMBRE,SEXO,PAIS
FROM Cliente
WHERE Pais = @Pais
ORDER BY Nombre;

variables sql

uso de variables SQL en procedimientos almacenados

El procedimiento almacenado puede contener variables locales como parámetro o estar incrustado en el script T-SQL. Por ejemplo, en el procedimiento almacenado a continuación, usamos la variable local @ProductID.

CREATE PROCEDURE Producto_categoria
@Prod_Nombre nvarchar (50) = null,
@Cat_Id int = null
AS
BEGIN
DECLARE @prod_ID int = null
SELECT @prod_ID = prod_ID FROM producto
WHERE Prod_Nombre =@Prod_Nombre

INSERT INTO prod_Categoria (Cat_ID, pro_ID) 
       VALUES (@Cat_ID, @prod_ID)
END

Para ejecutar el SP, necesitamos especificar el valor de la variable @ProductID
como se muestra a continuación.

EXEC Producto_categoria (@Prod_Nombre = 'CAMA', @Cat_Id = 1)

La variable dentro del procedimiento almacenado no está disponible para otras transacciones incluso si llama al procedimiento almacenado y la variable en la misma transacción.

Variable local como contador en el script T-SQL

Como se indicó al principio, las variables SQL locales pueden definir condiciones de bucle en SQL Server. Suponga que desea ejecutar el código varias veces incrustado en una lógica. En este caso iniciar el bucle modificando el valor de la variable en cada ejecución.

Por ejemplo, definimos una variable @Repite y le asignamos el valor 0. Más tarde, inicié un bucle WHILE que se ejecuta hasta que la variable @Repite sea igual a 6.

DECLARE @Repite INT;
SET @Repite = 0;

WHILE @Repite <= 6
BEGIN
PRINT ‘Mensage’;
SET @Repite = @Repite + 1;
END;
PRINT ‘Mensaje’;
GO

Obtiene la siguiente salida para la variable local como contador.

variables sql

Conclusión

Este artículo exploró el uso de variables locales y su alcance en las declaraciones de SQL Server. Las variables SQL locales se usan con bastante frecuencia y, por lo tanto, le recomiendo que se familiarice con ellas en el script T-SQL

Además de las variables SQL simples, también existen otras estructuras de datos en SQL server que pueden ser utilizadas para almacenar información. Estas estructuras incluyen tablas temporales, tablas variables y cursor.

Las tablas temporales crean en la memoria y son utilizadas para almacenar datos temporalmente. Estas tablas son útiles cuando se necesita almacenar información temporalmente.

Las variables deben ser del tipo de datos correcto que se espera que contengan. Por ejemplo, si se espera que la variable contenga una fecha, debe ser del tipo de datos «fecha».

Deja un comentario