0% encontró este documento útil (0 votos)
4 vistas13 páginas

Transact SQL

Cargado por

synnedcode
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas13 páginas

Transact SQL

Cargado por

synnedcode
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

TRANSACT-SQL

Ing. Jonathan Díaz Almachi MSc.


2023 - 2024

TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE [Link]


En SQL Server, al definir funciones y procedimientos almacenados, puedes utilizar diversos tipos de datos para
especificar los parámetros de entrada y salida, así como para las variables internas utilizadas en dichos objetos.
A continuación, se presentan algunos de los tipos de datos comunes que puedes utilizar en funciones y
procedimientos almacenados:

✓ Enteros:
✓ Decimales y Reales:
✓ Cadenas de Texto
✓ Fecha y Hora
✓ Binarios
✓ Booleanos
✓ Moneda
✓ Tablas Temporales
✓ Tablas Tipo-Valor
✓ Otros

TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE [Link]


Enteros Decimales y Reales

INT: Entero de 32 bits. DECIMAL(p, s): Número decimal con precisión p y escala s.
SMALLINT: Entero de 16 bits. NUMERIC(p, s): Similar a DECIMAL.
TINYINT: Entero de 8 bits. FLOAT(n): Número en coma flotante con precisión de n bits.
BIGINT: Entero de 64 bits. REAL: Número de punto flotante de precisión simple.

Cadenas de Texto

CHAR(n): Cadena de texto con longitud fija de n caracteres.


VARCHAR(n): Cadena de texto con longitud variable con un límite máximo de n caracteres.
NCHAR(n): Cadena de texto Unicode con longitud fija de n caracteres.
NVARCHAR(n): Cadena de texto Unicode con longitud variable con un límite máximo de n caracteres.
TEXT: Cadena de texto larga (hasta 2 GB).

TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE [Link]


Fecha y Hora Binarios

DATE: Fecha (año, mes, día). BINARY(n): Datos binarios con longitud fija de n bytes.
TIME: Hora (hora, minuto, segundo, fracción de segundo). VARBINARY(n): Datos binarios con longitud variable
DATETIME: Fecha y hora. con un límite máximo de n bytes.
DATETIME2: Similar a DATETIME con mayor precisión. IMAGE: Datos binarios largos (hasta 2 GB).
SMALLDATETIME: Fecha y hora con menor precisión.
Booleanos
Moneda
MONEY: Valor de moneda con precisión fija. BIT: Valor booleano (0 o 1).
SMALLMONEY: Valor de moneda con menor precisión.

Tablas Temporales

TABLE: Puedes definir tablas temporales en


procedimientos almacenados y funciones para almacenar
conjuntos de datos temporales.

TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE [Link]


En SQL Server, puedes declarar variables para almacenar valores que se utilizan en consultas, procedimientos
almacenados, funciones y otros objetos de base de datos.

Ejemplo:

DECLARE @nombre_variable tipo_de_dato [= valor_inicial];

Donde:

@nombre_variable : Es el nombre que deseas asignar a la variable. Debe comenzar con el símbolo "@".
tipo_de_dato : Es el tipo de dato que definirá el tipo de la variable.
valor_inicial (opcional): Es el valor inicial que deseas asignar a la variable.

Ejemplo:

TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE [Link]


Importante:

Después de declarar una variable, puedes utilizarla en consultas y procedimientos almacenados para almacenar,
manipular y recuperar datos. Por ejemplo, podrías utilizar estas variables en consultas SELECT, INSERT, UPDATE o
DELETE para filtrar, actualizar o insertar datos en una tabla.

Es importante recordar que las variables declaradas en SQL Server tienen un alcance local y solo son visibles y
utilizables dentro del contexto donde se declaran. Esto significa que una variable declarada en un procedimiento
almacenado solo está disponible dentro de ese procedimiento.

TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE [Link]


Estructuras de Control
Permiten tomar decisiones, repetir acciones y manejar flujos de ejecución en procedimientos almacenados,
funciones y bloques de código.
Estructuras de control más comunes:

✓ IF...ELSE
✓ CASE
✓ WHILE
✓ CURSORES
✓ TRY...CATCH

TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE [Link]


Estructuras de Control
IF...ELSE
La estructura IF permite ejecutar una instrucción o bloque de instrucciones si una condición se evalúa como
VERDADERA. Puedes incluir un bloque ELSE opcional que se ejecutará si la condición es FALSA.

Ejemplo:

IF @edad > 18 BEGIN


-- Código si la edad es mayor que 18
END
ELSE
BEGIN
-- Código si la edad no es mayor que 18
END

TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE [Link]


Estructuras de Control
CASE
La expresión CASE permite realizar evaluaciones condicionales más complejas. Puedes tener varias cláusulas WHEN
para manejar múltiples condiciones y un ELSE opcional.

Ejemplo:

SELECT
CASE
WHEN @puntuacion >= 90 THEN 'A’
WHEN @puntuacion >= 80 THEN 'B’
WHEN @puntuacion >= 70 THEN 'C’
ELSE 'D’
END AS Calificación

TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE [Link]


Estructuras de Control
WHILE
La estructura WHILE permite repetir un bloque de instrucciones mientras se cumple una condición.

Ejemplo:

DECLARE @contador INT = 1;


WHILE @contador <= 10
BEGIN
-- Código a repetir
SET @contador = @contador + 1;
END

TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE [Link]


Estructuras de Control
CURSORES
Los cursores permiten recorrer conjuntos de resultados fila por fila. Puedes utilizar cursores explícitos para controlar
el recorrido de los registros devueltos por una consulta.

Ejemplo:

DECLARE @nombre VARCHAR(50);


DECLARE cursorNombre CURSOR FOR
SELECT LastName FROM Employees;
OPEN cursorNombre;
FETCH NEXT FROM cursorNombre INTO @nombre;
WHILE @@FETCH_STATUS = 0
BEGIN
-- Procesar @nombre
FETCH NEXT FROM cursorNombre INTO @nombre;
END
CLOSE cursorNombre;
DEALLOCATE cursorNombre;

TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE [Link]


Estructuras de Control
TRY...CATCH
BEGIN TRY
La estructura TRY...CATCH se utiliza para
-- Bloque de código que puede generar
manejar errores y excepciones. Puedes
errores
encapsular un bloque de código en un bloque
-- Por ejemplo, intentemos dividir por cero
TRY y manejar excepciones en el bloque
DECLARE @resultado INT;
CATCH.
SET @resultado = 10 / 0; -- Esto generará
un error de división por cero
Ejemplo:
END TRY
BEGIN CATCH
BEGIN TRY
-- Manejo de errores
-- Bloque de código que puede
PRINT 'Se ha producido un error: ' +
generar errores
ERROR_MESSAGE();
END TRY
-- Puedes realizar acciones adicionales
BEGIN CATCH
aquí, como registrar el error en una tabla de
-- Manejo de errores
registro
END CATCH
END CATCH;

TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE [Link]


TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE [Link]

También podría gustarte