Está en la página 1de 6

Universidad Jos Carlos Maritegui

C.P. Ingeniera de Sistemas e Informtica

Base de Datos II
Semestre 2015 - II

PRCTICA N 02
Expresiones
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 programacin. A continuacin se describe los diferentes comandos
utilizados en el control de flujo de programa.
IF ELSE
Define una ejecucin condicional y, opcionalmente una alternativa cuando la condicin 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
despus 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

Docente: Ing. Melina Alfrez Garca

Universidad Jos Carlos Maritegui


C.P. Ingeniera de Sistemas e Informtica

Base de Datos II
Semestre 2015 - II

PRINT'Personal'
set @var='no autorizado'
END
PRINT @VAR
GO

RETURN [N]
La instruccin RETURN termina incondicionalmente una consulta, procedimiento almacenado o
lote. Ninguna de las instrucciones de un procedimiento almacenado o lote que siga a la
instruccin RETURN se ejecutar.
Cuando se usa en un procedimiento almacenado, la instruccin RETURN puede especificar un
valor entero para devolver a la aplicacin, lote o procedimiento que realiza la llamada. Si no se
especifica ningn valor en la instruccin RETURN, un procedimiento almacenado devuelve el
valor 0.
GOTO etiqueta
Contina el procedimiento en la instruccin que va despus de la etiqueta especificada.
WHILE
Es la construccin repetitiva bsica para SQL Server. Repite una instruccin (o un bloque de
instrucciones) mientras una condicin lgica 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 funcin CASE es una expresin 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 funcin CASE puede mostrar Moquegua
en un conjunto de resultados de una consulta de las filas que tengan el valor CA en la columna
Ciudad.

Docente: Ing. Melina Alfrez Garca

Universidad Jos Carlos Maritegui


C.P. Ingeniera de Sistemas e Informtica

Base de Datos II
Semestre 2015 - II

La funcin CASE est compuesta de:


-

La palabra clave CASE.

El nombre de columna que se va a transformar.

Clusulas WHEN que especifican las expresiones que se van a buscar y clusulas THEN
que especifican las expresiones que las van a reemplazar.

La palabra clave END.

Una clusulas AS opcional que define un alias de la funcin 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 martimo'
WHEN 2 THEN 'Transporte areo'
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>>

Docente: Ing. Melina Alfrez Garca

Universidad Jos Carlos Maritegui


C.P. Ingeniera de Sistemas e Informtica

Base de Datos II
Semestre 2015 - II

2.

Calcular la suma de los nmeros pares e impares comprendidos entre 1 y 100.

3.

Crear los siguientes tipos de datos definidos por el usuario en la base de datos
DBEjemplo_02.
Testudiante
Codigo

char

Apellidos

varchar

50

Telefono

char

Nota

decimal

5,2

Promedio

integer

Docente: Ing. Melina Alfrez Garca

Universidad Jos Carlos Maritegui


C.P. Ingeniera de Sistemas e Informtica

4.

Base de Datos II
Semestre 2015 - II

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

telfono

TNota

5.

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

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.

Docente: Ing. Melina Alfrez Garca

Universidad Jos Carlos Maritegui


C.P. Ingeniera de Sistemas e Informtica

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

2.

Idalumno

char(8) NOT NULL

Idcurso

char (3) NOT NULL

Nota_01

integer

Nota_02

integer

Nota_03

integer

Nota_04

integer

Promedio

integer

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 restriccin de tipo UNIQUE.

4.

Modificar el campo telfono de la Talumno, para que acepte solo dgitos.

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

Telfono

char(9)

Docente: Ing. Melina Alfrez Garca

También podría gustarte