Está en la página 1de 6

Universidad José Carlos Mariátegui C.P. Ingeniería de Sistemas e Informática

Base de Datos II Semestre 2015 - II

Expresiones

PRÁCTICA N° 02

Son una unidad de sintaxis que Microsoft SQL Server puede resolver en un valor único.

Ejemplos de expresiones son las constantes, las funciones que devuelven un valor único, una referencia a una columna o una variable.

Control de flujo

Transact SQL proporciona una serie de herramientas que permite el control de flujo como en

cualquier lenguaje de programación. A continuación se describe los diferentes comandos utilizados en el control de flujo de programa.

IF … ELSE

Define una ejecución condicional y, opcionalmente una alternativa cuando la condición es falsa.

Ejemplo P02_01

DECLARE @NUMDIA INT SET @NUMDIA=DATEPART(DW,GETDATE()) IF (@NUMDIA=1) PRINT 'LUNES' IF (@NUMDIA=2) PRINT 'MARTES' IF (@NUMDIA=3) PRINT 'MIERCOLES' IF (@NUMDIA=4) PRINT 'JUEVES' IF (@NUMDIA=5) PRINT 'VIERNES' IF (@NUMDIA=6) PRINT 'SABADO' IF (@NUMDIA=7) PRINT 'DOMINGO' GO

BEGIN

END

.. Define un bloque de instrucciones que se procesaran como un bloque. Se utiliza normalmente

después de IF, ELSE o WHILE. Ejemplo P02_02

DECLARE @VAR VARCHAR(20) IF USER_NAME()='DBO' BEGIN

PRINT'Personal' set @var='autorizado'

 

END

ELSE

 

BEGIN

Universidad José Carlos Mariátegui C.P. Ingeniería de Sistemas e Informática

Base de Datos II Semestre 2015 - II

PRINT'Personal' set @var='no autorizado'

END

PRINT @VAR

GO

RETURN [N] La instrucción RETURN termina incondicionalmente una consulta, procedimiento almacenado o lote. Ninguna de las instrucciones de un procedimiento almacenado o lote que siga a la instrucción RETURN se ejecutará.

Cuando se usa en un procedimiento almacenado, la instrucción RETURN puede especificar un valor entero para devolver a la aplicación, lote o procedimiento que realiza la llamada. Si no se especifica ningún valor en la instrucción RETURN, un procedimiento almacenado devuelve el valor 0.

GOTO etiqueta Continúa el procedimiento en la instrucción que va después de la etiqueta especificada.

WHILE Es la construcción repetitiva básica para SQL Server. Repite una instrucción (o un bloque de instrucciones) mientras una condición lógica sea verdad. Ejemplo P02_03

DECLARE @NUM INT DECLARE @SUMA INT SET @NUM=0 SET @SUMA=0 WHILE (@NUM<10) BEGIN

SET @NUM=@NUM+1 PRINT @NUM SET @SUMA=@SUMA+@NUM

END PRINT 'LA SUMA ES='+STR(@SUMA,3) GO

CASE La función CASE es una expresión especial de Transact-SQL que permite que se muestre un valor alternativo dependiendo del valor de una columna. Este cambio es temporal, con lo que no hay cambios permanentes en los datos. Por ejemplo, la función CASE puede mostrar Moquegua

en un conjunto de resultados de una consulta de las filas que tengan el valor CA en la columna

Ciudad.

Universidad José Carlos Mariátegui C.P. Ingeniería de Sistemas e Informática

Base de Datos II Semestre 2015 - II

La función CASE está compuesta de:

  • - La palabra clave CASE.

  • - El nombre de columna que se va a transformar.

  • - Cláusulas WHEN que especifican las expresiones que se van a buscar y cláusulas THEN que especifican las expresiones que las van a reemplazar.

  • - La palabra clave END.

  • - Una cláusulas AS opcional que define un alias de la función CASE.

Ejemplo P02_04

DECLARE @NUMDIA INT SET @NUMDIA=DATEPART(DW,GETDATE()) SELECT CASE @NUMDIA WHEN 1 THEN 'LUNES' WHEN 2 THEN 'MARTES' WHEN 3 THEN 'MIERCOLES' WHEN 4 THEN 'JUEVES' WHEN 5 THEN 'VIERNES' WHEN 6 THEN 'SABADO' WHEN 7 THEN 'DOMINGO' END AS 'DIA DE SEMANA' GO

Ejemplo P02_05

SELECT IDCLIENTE, FECHAENTREGA, DESTINATARIO, PAISDESTINATARIO, CASE FORMAENVIO WHEN 1 THEN 'Transporte marítimo' WHEN 2 THEN 'Transporte aéreo' WHEN 3 THEN 'Transporte terrestre' END AS [FORMA DE ENVIO] FROM NWIND.DBO.PEDIDOS ORDER BY IDCLIENTE

Ejercicios propuestos Tablas

  • 1. Escriba los comandos necesarios para mostrar los siguientes mensajes. Bienvenido <<usuario>> Hoy es <<Fecha del sistema>>

Universidad José Carlos Mariátegui C.P. Ingeniería de Sistemas e Informática

Base de Datos II Semestre 2015 - II

Universidad José Carlos Mariátegui C.P. Ingeniería de Sistemas e Informática Base de Datos II Semestre
  • 2. Calcular la suma de los números pares e impares comprendidos entre 1 y 100.

  • 3. siguientes tipos de datos definidos por

Crear los

el

usuario en

la

base

de datos

DBEjemplo_02.

Testudiante

Codigo

char

5

Apellidos

varchar

50

Telefono

char

9

Nota

decimal

5,2

Promedio

integer

Universidad José Carlos Mariátegui C.P. Ingeniería de Sistemas e Informática

Base de Datos II Semestre 2015 - II

  • 4. Crear las siguientes tablas. TCurso

Idcurso

char (4) NOT NULL

Curso

varchar(50) NOT NULL

FeInicio

datetime

FeTermino datetime

Costo

decimal(10,2)

TAlumno

Idalumno

codigo NOT NULL

Apellidos

apellidos NOT NULL

Nombres

varchar(30) NOT NULL

Direccion

varchar(50) NOT NULL

Telefono

teléfono

TNota

Idalumno

char(5) NOT NULL

Idcurso

char (4) NOT NULL

Nota_01

Nota NOT NULL

Nota_02

Nota NOT NULL

Nota_03

Nota NOT NULL

Nota_04

Nota NOT NULL

Promedio

promedio NOT NULL

  • 5. Ingresar los siguientes datos en la Tcurso

Idcurso

curso

FeInicio

FeTermino

Costo

PB01

Power Builder

25/07/2014

26/08/2014

300

VB01

Visual Basic

19/08/2014

20/09/2014

500

  • 6. Agregar un campo llamado DNI de tipo char(8), que acepte valores nulos en la Talumno.

  • 7. Agregar un campo llamado FeEvaluacion de tipo fecha que acepte el valor predeterminado GETDATE en la tabla Nota.

  • 8. Agregar un campo Observacion de tipo varchar(20), en la Tnota

  • 9. Cambiar el nombre de la Tnota por el de Tevaluacion.

    • 10. Eliminar las tablas creadas en la base de datos DBejemplo_02.

Universidad José Carlos Mariátegui C.P. Ingeniería de Sistemas e Informática

Base de Datos II Semestre 2015 - II

Ejercicios propuestos Integridad Referencial

  • 1. Crear las siguientes tablas en la base de datos DBejemplo_03 TCurso

Idcurso

char (4) NOT NULL

Curso

varchar(50) NOT NULL

FeInicio

datetime

FeTermino datetime

Costo

decimal(10,2)

TAlumno

Idalumno

char(5) NOT NULL

Apellidos

apellidos NOT NULL

Nombres

varchar(30) NOT NULL

Direccion

varchar(50) NOT NULL

Telefono

char(9)

TNota

Idalumno

char(8) NOT NULL

Idcurso char (3) NOT NULL Nota_01 integer Nota_02 integer Nota_03 integer Nota_04 integer Promedio integer

  • 2. Agregar las respectivas restricciones PRIMARY KEY a las tablas Tcurso, Talumno de la base de datos BDejemplo_03.

  • 3. Agregar un campo en la Talumno llamado DNI, con una restricción de tipo UNIQUE.

  • 4. Modificar el campo teléfono de la Talumno, para que acepte solo dígitos.

  • 5. Agregar las respectivas restricciones FOREING KEY a la Tnota de la base de datos DBejemplo_03.

  • 6. Para el siguiente ejercicio crear la Tprofesores con siguientes campos: Idprofesor int NOT NULL Nombre varchar(30) NOT NULL Apellidos varchar(50) NOT NULL Teléfono char(9)