Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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.
Base de Datos II
Semestre 2015 - II
Clusulas WHEN que especifican las expresiones que se van a buscar y clusulas THEN
que especifican las expresiones que las van a reemplazar.
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
Base de Datos II
Semestre 2015 - II
2.
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
4.
Base de Datos II
Semestre 2015 - II
Curso
FeInicio
datetime
FeTermino
datetime
Costo
decimal(10,2)
TAlumno
Idalumno
Apellidos
Nombres
Direccion
Telefono
telfono
TNota
5.
Idalumno
Idcurso
Nota_01
Nota_02
Nota_03
Nota_04
Promedio
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.
9.
10.
Base de Datos II
Semestre 2015 - II
Curso
FeInicio
datetime
FeTermino
datetime
Costo
decimal(10,2)
TAlumno
Idalumno
Apellidos
Nombres
Direccion
Telefono
char(9)
TNota
2.
Idalumno
Idcurso
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.
5.
6.
Apellidos
Telfono
char(9)