Unidad 2. Introducción al SQL. Transact-SQL (V)


2.8. Funciones

SQL Server 2005 proporciona numerosas funciones integradas y permite crear funciones definidas por el usuario.

Existen diferentes tipos de funciones:

  • Funciones de conjuntos de filas: devuelven un objeto que se puede utilizar, en instrucciones Transact-SQL, en lugar de una referencia a una tabla.
  • Funciones de agregado (también llamadas funciones de columna): Operan sobre una colección de valores y devuelven un solo valor de resumen. Por ejemplo, la función de suma sobre la columna importe para conocer el importe total: SUM(importe)
  • Funciones de categoría: Devuelven un valor de categoría para cada fila de un conjunto de filas, por ejemplo devuelve el número de la fila, el ranking de la fila en una determinada ordenación, etc.
  • Funciones escalares: Operan sobre un valor y después devuelven otro valor. Son las funciones que estamos acostumbrados a utilizar. Las funciones escalares se clasifican según el tipo de datos de sus operandos

Las variables

En Transact-SQL podemos definir variables, que serán de un tipo de datos determinado, como tipos de datos podemos utilizar los propios de la base de datos SQL-SERVER, pero también podemos utilizar tipos propios del lenguaje que no pueden ser utilizados en DDL. El tipo Cursor y el tipo Table son dos de estos tipos.

Las variables se definen utilizando la instrucción DECLARE con el siguiente formato:

DECLARE @nbvariable tipo

El nombre de la variable debe empezar por el símbolo @, este símbolo hace que SQL interprete el nombre como un nombre de variable y no un nombre de objeto de la base de datos.

Por ejemplo: DECLARE @empleados INT

Con esto  hemos definido la variable @empleados de tipo entero.

Para asignar un valor a una variable, la asignación se realiza con la palabra SELECT y el signo igual con el formato:

SELECT @nbvariable = valor

El valor puede ser cualquier valor constante, otro nombre de variable, una expresión válida o algo más potente, parte de una sentencia SELECT de SQL.
Por ejemplo:

SELECT @empleados = 0;

SELECT @empleados = @otra * 100;

SELECT @EMPLEADOS = COUNT(numemp) FROM empleados;

El valor almacenado en la variable se puede visualizar mediante la orden PRINT. o SELECT

PRINT @nbvariable o SELECT @nbvariable

El valor almacenado en la variable se visualizará en la pestaña de resultados. También se puede usar para escribir mensajes:

PRINT 'Este es el mensaje'

Otros elementos del lenguaje

Comentarios. Como en cualquier otro lenguaje de programación, debemos utilizar comentarios destinados a facilitar la legibilidad del código. En SQL se insertan comentarios con los signos:

/* */ Varias líneas /* Esto es un comentario
en varias líneas */
-- Una única línea -- Esto es un comentario en una única línea.

USE. Cambia el contexto de la base de datos al de la base de datos especificada.

USE nbBaseDeDatos

Hace que la base de datos activa pase a ser la base de datos indicada en la instrucción, las consultas que se ejecuten a continuación se harán sobre tablas de esa base de datos si no se indica lo contrario. Es una instrucción útil para asegurarnos de que la consulta se ejecuta sobre la base de datos correcta.

GO

GO no es una instrucción Transact-SQL, sino un comando reconocido por las utilidades sqlcmd y osql, así como por el Editor de código de SQL Server Management Studio.
Las utilidades de SQL Server interpretan GO como una señal de que deben enviar el lote actual de instrucciones Transact-SQL a una instancia de SQL Server. El lote actual de instrucciones está formado por todas las instrucciones específicadas desde el último comando GO o desde el comienzo de la sesión o script si se trata del primer comando GO.
Por ejemplo si queremos crear una consulta para crear una base de datos y sus tablas, después del CREATE DATABASE…; tenemos que poner GO antes del primer CREATE TABLE para que el sistema efectúe la primera operación y la base de datos esté creada antes de ejecutar el primer CREATE TABLE.

BEGIN...END

Encierra un conjunto de instrucciones Transact-SQL de forma que estas instrucciones formen un bloque de instrucciones.

• Prueba evaluativa de la Unidad 2
Febrero-2010
Pág. 2.5

Atrás  Inicio  Adelante



.