You are on page 1of 8

INSTITUTO TCNICO RICALDONE DEPARTAMENTO DE INFORMATICA

Gua de Transact-SQL Segundo Ao - Tecnologa Instructores: Issela Meja y Edwin Flores

OBJETIVOS

Dar a conocer la teora bsica del lenguaje de programacin de SQL Server, Transact. Practicar el lenguaje de programacin de SQL Server, Transact a travs de la elaboracin de ejercicios. FUNDAMENTACION TERICA

Transact-SQL (T-SQL) es el lenguaje de programacin del SQL Sever, a travs de l se pueden realizar muchas operaciones relacionadas con el SQL en la base de datos. T-SQL es un potente lenguaje de programacin orientado al SQL Server y como tal tiene: instrucciones para el control de flujo, variables, tipos de datos, Funciones matemtica, de tratamiento de cadenas, de fecha y hora. Pero adems incluye funciones propias del SQL Sever para trabajar con las bases de datos. Tipos de datos. Como todo lenguaje de programacin T-SQL posee una serie de tipos de datos, estos corresponden con los tipos de datos que pueden utilizarse en SQL Server al definir tablas, entre ellos se pueden destacar: int Datos enteros (nmeros enteros) comprendidos entre -2^31 (-2.147.483.648) y 2^31 1 (2.147.483.647). decimal Datos de precisin y escala numrica fijas comprendidos entre -1038 +1 y 1038 1. numeric Funcionalmente equivalente a decimal. char Datos de caracteres no Unicode de longitud fija con una longitud mxima de 8.000 caracteres. varchar Datos no Unicode de longitud variable con un mximo de 8.000 caracteres.

datetime Datos de fecha y hora comprendidos entre el 1 de enero de 1753 y el 31 de diciembre de 9999, con una precisin de 3,33 milisegundos. Comentarios. Como todo lenguaje de programacin en T-SQL tambin podemos comentar nuestro cdigo para que ste pueda ser ms amigable y leerse con ms comodidad. Los comentarios se identifican de la siguiente forma: -- Comentario de una lnea /* comentario de varias lneas */ Variables. Para declarar variables se utiliza la palabra reservada Declare seguida de @ nombre de variable y tipo de datos, de la siguiente forma: Declare @NombreVariable Varchar(40) Para inicializarla utilizaremos la palabra reservada Set o Select : Set @NombreVariable = 'PRUEBAS' Select @NombreVariable = 'PRUEBAS' Otra forma de utilizar variables es recibindolas como parmetros de entrada o de salida desde el procedimiento o funcin, la forma de utilizarlas sera: Create sp_Pruebas @Var1 numeric, @Var2 numeric = 0, @Var3 numeric output As Begin --instruciones End Control del flujo del programa. Para controlar el flujo del programa se dispone de una serie de instrucciones: Palabra clave BEGIN...END BREAK definicin Define un conjunto de instrucciones. Sale de un bucle while.

CONTINUE IF...ELSE RETURN WAITFOR WHILE

Continua un bucle while. Define una ejecucin condicional y, opcionalmente, una ejecucin alternativa si la condicin es FALSE. Sale del procedimiento o funcin si ejecutar nada ms. Espera cierto tiempo a seguir con la ejecucin. Repite instrucciones mientras una condicin especfica sea TRUE.

Procedimientos almacenados Un procedimiento almacenado es un objeto perteneciente a una base de datos, que contiene un conjunto de instrucciones SQL, tanto de consulta, como de manipulacin de datos, como de control de la secuencia del programa, asociados a un nombre, y que son ejecutados en conjunto. Puede contener parmetros tanto de entrada como de salida (parmetros pasados por referencia), as como devolver un valor de retorno. Son precompilados al ejecutarse por primera vez, y no vuelven a ser compilados con las subsiguientes ejecuciones, lo que proporciona una cierta mejora en el rendimiento. No obstante si se desea se puede forzar su recompilacin. La sintaxis de dicha instruccin es bsicamente la siguiente: CREATE PROCEDURE Nombre_del_procedimiento [Lista_de_parmetros] AS (Sentencias SQL) [RETURN [Valor]] Dnde: Nombre_del_procedimientoIdentificador que determina el nombre asignado al procedimiento y que debe cumplir con la regla de definicin de identificadores establecida en MSSQL Server. Lista_de_parmetros Parmetros definidos en el procedimiento con la siguiente sintaxis: @nombre_var. El smbolo @ es necesario no slo en la declaracin sino que forma parte del propio nombre. Dicha lista puede contener un mximo de 255 parmetro Tipo_var [OUTPUT] La clasula OUPUT determina que dicho parmetro ser utilizado para pasar informacin al cdigo llamador, es decir, viene a ser un parmetro pasado por referencia. RETURN [Valor] Un procedimiento almacenado puede devolver un valor de retorno de tipo integer, no nulo, que puede ser rescatado por el cdigo llamador para tener conocimiento del resultado del proceso de dicho procedimiento. Los valores -1 al -99 estn reservados por el sistema, as como el 0 que se interpreta como finalizado con xito. Si no se proporciona un cdigo definido por el usuario, se utilizan los del sistema. De la misma forma los definidos por el usuario tiene prioridad sobre los definidos por el sistema. En caso de producirse varios errores a lo largo de la ejecucin del mismo procedimiento, se devuelve el cdigo cuyo valor absoluto es mayor. Algunos ejemplos de cdigos y sus significados son los siguientes:

Cdigo -2 -4 -5 -13

Significado Error de tipo de datos Error de Permisos Error de Sintaxis Base de Datos Corrupta

Llamadas a procedimientos almacenados La sintaxis de la llamada a un procedimiento almacenado, depende de cmo se halla creado dicho procedimiento, por lo que en cada uno de los ejemplos que siguen, se especifica la llamada al mismo, ponindose de manifiesto dicha sintaxis en cada caso particular. Ejemplos Procedimiento 1 Es un procedimiento simple, sin parmetros que devuelve un conjunto de filas que cumplen siempre la misma condicin.

Procedimiento 2 Procedimiento que recibe seis parmetros de entrada, correspondiente cada uno a cada campo de la tabla a insertar los datos.

Procedimiento 3 Procedimiento que recibe como parmetro de entrada el nombre del curso y mostrar como salida el costo del curso.

Procedimiento 4 No est asociado a una tabla. Se obtiene el mayor de dos nmeros.

Funciones Al igual que las funciones en los lenguajes de programacin, las funciones definidas por el usuario en SQL Server son rutinas que aceptan parmetros, realizan una accin, como un clculo complejo, y devuelven el resultado de esa accin como un valor. El valor devuelto puede ser un valor escalar nico o un conjunto de resultados. Tipos de funciones Funciones escalares Las funciones escalares definidas por el usuario devuelven un nico valor de datos del tipo definido en la clusula RETURNS. Las funciones escalares en lnea no tienen cuerpo; el valor escalar es el resultado de una sola instruccin. Para una funcin escalar de mltiples instrucciones, el cuerpo de la funcin, definido en un bloque BEGINEND, contiene una serie de instrucciones Transact-SQL que devuelven el valor nico.

Funciones con valores de tabla Las funciones con valores de tabla definidas por el usuario devuelven un tipo de datos table. Las funciones con valores de tabla en lnea no tienen cuerpo; la tabla es el conjunto de resultados de una sola instruccin SELECT. Funciones integradas SQL Server proporciona las funciones integradas para ayudarle a realizar diversas operaciones. No se pueden modificar. Puede utilizar funciones integradas en instrucciones Transact-SQL para: Tener acceso a informacin de las tablas del sistema de SQL Server sin tener acceso a las tablas del sistema directamente. Realizar tareas habituales como SUM, GETDATE o IDENTITY. Ejemplos: Funcin 1.

Funcin 2

Funcin 3

Funcin 4

PRACTICA

Para esta prctica siempre se trabajar con la base de datos del examen. A continuacin se presenta el modelo fsico:

Realizar las siguientes actividades: 1. Cree cada uno de los ejemplos proporcionados en esta gua. 2. Realice los procedimientos respectivos para ingresar datos en las tablas de matrcula, alumno y pagos. 3. Realice las siguientes funciones: Muestre la nota de un alumno en especfico Mostrar el curso en el que est inscrito un alumno. Mostrar el nmero de alumnos que aprobaron un curso en especfico. Verificar si est inscrito un alumno.

You might also like