Tal
como hemos visto en la programación orientada a objetos donde creamos funciones a nuestras clases, en SQL Server también
podemos crear funciones dentro de nuestras bases de datos, a estas se les
conoce como funciones definidas por el usuario. Estas funciones también se les pueden asignar un nombre,
pueden recibir parámetros y devuelven un valor.
Limitaciones.
·Este
tipo de funciones no se pueden utilizar para modificar el estado de la base.
·No
pueden devolver un conjunto de resultados, a diferencia de un procedimiento
almacenado
·No
podemos usar una instrucción set.
Dentro
de las funciones definidas por usuario tenemos las funciones escalares las
cuales reciben un valor como parámetro y devuelven un solo valor
miércoles, 22 de abril de 2015
CURSORES
¿Qué es un cursor?
Un
cursor es un puntero que nos permite desplazarnos fila por fila. Las
instrucciones de Microsoft SQL Server producen un conjunto completo de
resultados, pero hay ocasiones en que los resultados se procesan mejor de fila
en fila. Abrir un cursor sobre un conjunto de resultados permite procesar
el conjunto de resultados de fila en fila. Puede asignar un cursor a una
variable o parámetro con un tipo de datos cursor
SENTENCIAS BÁSICAS
En el basto lenguaje de Transact tenemos varias sentencias que nos ayudan a seleccionar la información y realizar consultas para varios y determinados requerimientos de la información dentro de nuestras bases, es por eso que existe varias palabras o sentencias que ayudan a facilitar tal proceso. Entre las principales tenemos:
Merge: Realiza operaciones de inserción, actualización o eliminación en una tabla de destino según los resultados de una combinación con una tabla de origen. Por ejemplo, puede sincronizar dos tablas insertando, actualizando o eliminando las filas de una tabla según las diferencias que se encuentren en la otra.
Left Join: Nos devuelve todos los registros de la tabla de la izquierda junto con los que coinciden de la tabla de la derecha.
Right Join: Nos devuelve todos los registros de la tabla de la derecha junto con los que coinciden de la tabla de la izquierda.
Cont: Devuelve el número de elementos de un grupo. COUNT funciona como la función COUNT_BIG. La única diferencia entre ambas funciones está en los valores devueltos. COUNT siempre devuelve un valor de tipo de datos int. COUNT_BIG siempre devuelve un valor de tipo de datos bigint.
Sum: Devuelve la suma de todos los valores o solo de los valores DISTINCT de la expresión. SUM solo puede utilizarse con columnas numéricas. Se omiten los valores NULL.
Min: Devuelve el valor mínimo de la expresión.
Max: Devuelve el valor máximo de la expresión.
Avg: Devuelve el promedio de los valores de un grupo
Distinct: Dentro del select nos permite sleccionar los valores que no se repitan solo es escoge el primero en aparecer.
Group by: Agrupa un conjunto de filas seleccionado en un conjunto de filas de resumen de acuerdo con los valores de una o más columnas o expresiones en SQL Server 2014. Se devuelve una fila para cada grupo. Las funciones de agregado de la lista <select> de la cláusula SELECT proporcionan información de cada grupo en lugar de filas individuales.
Order by: Ordena el conjunto de resultado de un group by
Cube: genera un conjunto de resultados que muestra agregados para todas las combinaciones de valores de las columnas seleccionadas
Roll up: genera un conjunto de resultados que muestra agregados para una jerarquía de valores de las columnas seleccionadas.
martes, 14 de abril de 2015
Variables globales
Estan son las variables que ofrece SQL que siempre estan disponibles para el usuario.
Cada una de estas variables nos representan diferentes funciones.
Herramientas de control de Flujos
Son las diversas herramientas que nos permiten realizar acciones de repeticion o control tal como las que aplicamos en otros lenguajes de programacion como java o c#.
En sql las principales instrucciones son:
Funciones especiales de Error
ERROR_NUMBER(), devuelve el número de error.
ERROR_SEVERITY(), devuelve la severidad del error.
ERROR_STATE(), devuelve el estado del error.
ERROR_PROCEDURE(), devuelve el nombre del procedimiento almacenado que ha provocado el error.
ERROR_LINE(), devuelve el número de línea en el que se ha producido el error.
ERROR_MESSAGE(), devuelve el mensaje de error.
Cusores
En palabras sencillas un cursosr no es mass que un puntero que valga la redundancia apunta a cada registro que nosotros tengamos de un select, y lo puede ir recorriendo uno por uno.
para crear un cursos tenemos que abrirlo (open), recorrerlo (fetch), cerrarlos(close) y vaciar su memoria(daellocate)