Documente Academic
Documente Profesional
Documente Cultură
Curso de SQL Server 2005 Developer e Introduccin a VB.net No.1 Prctica No.1. Escribiendo y ejecutando cdigo transact sql desde el Query Analyzer ELLABORADO POR:: E ABORADO POR B R D R FECHA DE ELABORACIIN : FECHA DE ELABORAC N AD BORAC N Ing. Giovanni Senz. 24 de Junio del 2008 (Fecha Original).
COLLABORACIIIN Y VERSIIIN ORIIIGIIINALL EN 2000:: Ing. Marvin Lira Chamorro y Ing. Glenda COLA BO RAC N Y VER S N OR G NAL EN 2000 A O A N N Barrios OBJETTIIIVO DE LA PRCTIICA:: OBJET VO D E LA PRCT CA JE O D Con esta gua se pretende que identifiquen las diferencias de colores utilizados por el Query Analyzer para el cdigo Transact SQL.
Tabla de Contenido:
Tabla de Contenido: ___________________________________________________________ 1 Crear Procedimientos Almacenados:______________________________________________ 2
Definicin del Procedimiento Almacenado (con Parmetro) ______________________________ 2 Llamado para Ejecutar el Procedimiento Almacenado___________________________________ 3 Resultado del Procedimiento Almacenado _____________________________________________ 3
Funciones ___________________________________________________________________ 4
Funciones de tipo Escalar ___________________________________________________________ 4 Definicin de la Funcin ____________________________________________________________ 4 Ejecucin de la Funcin ____________________________________________________________ 5 La Primera Forma para Correr la Funcion es: _________________________________________ 6 La segunda forma, es utilizando variables y pasando el valor a esta misma: _________________ 6
Trabajando con DDL y DML. ___________________________________________________ 7 Prctica No.2. ________________________________________________________________ 7 Tareas a Realizar:____________________________________________________________ 16 Bibliografa: ________________________________________________________________ 16
El cdigo, es el siguiente: CREATE PROCEDURE [dbo].[spGetNombre_Parametro] (@pNombre as Varchar(120)) AS Begin print @pNombre End
Funciones
Funciones de tipo Escalar
Ir a la parte superior de la venta y buscar nueva consulta, ah usted agregara el cdigo correspondiente a la funcin:
Definicin de la Funcin
CREATE FUNCTION dbo.fncCalculaEdad_Parametro (@pNombreCompleto Varchar(120), Datetime, @pFechaNacimiento @PFechaActual Datetime) RETURNS Varchar(240) AS BEGIN Declare @NombreEdad varchar(240) Set @NombreEdad = @pnombreCompleto + ' tiene la edad de ' + Cast(DATEDIFF(YEAR,@pfechanacimiento, @pfechaactual) as Varchar) + ' anios ' return (@NombreEdad) END
Ejecucin de la Funcin
La Ejecucin de la funcin, se realiza con la siguiente consulta: Select dbo.fncCalculaEdad_Parametro('Glenda '24/06/1973', getDATE()) Barrios Aguirre',
---------------------------------ALTER FUNCTION [dbo].[FncGetCategoriasLineal2] ( @categoria nvarchar(15) ) RETURNS TABLE Return (select CategoryId, CategoryName From Categories where CategoryName = @categoria)
Prctica No.2.
CREATE TABLE [dbo].[ScpDigitacionProyecto] ( ScpDigitacionProyecto_ID int IDENTITY (1, 1) PRIMARY KEY CLUSTERED NOT NULL , MesAsistencia smallint NULL , AnioAsistencia int NULL , Asistencia char (2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , int NOT NULL objProyectoID ) ON [PRIMARY] GO
Paso No.3 : Visualizar en modo texto la estructura de la tabla Notas SELECT * From ScpDigitacionProyecto
Paso No.4: Modificar la tabla ScpDigitacionProyecto, al agregar las columnas Fecha de tipo Datetime y MesPrueba de tipo int. ALTER TABLE [dbo].[ScpDigitacionProyecto] ADD Fecha Datetime NULL, MesPrueba Int GO Para verificar los valores de la Tabla, vuelva a ejecutar: SELECT * From ScpDigitacionProyecto
Paso No.5: Eliminar de la tabla ScpDigitacionProyecto eliminar la columna MesPrueba. ALTER TABLE [dbo].[ScpDigitacionProyecto] DROP Column MesPrueba GO
Para verificar los valores de la Tabla, vuelva a ejecutar: SELECT * From ScpDigitacionProyecto
Paso No.6: Insertando registros en Digitacion Proyecto. INSERT INTO ScpDigitacionProyecto (MesAsistencia, AnioAsistencia, Asistencia , objProyectoID) VALUES (1, 'B1', 2005, 65)
INSERT INTO ScpDigitacionProyecto (MesAsistencia, AnioAsistencia , Asistencia , objProyectoID) VALUES (2, 2005, 'B1', 65) INSERT INTO ScpDigitacionProyecto (MesAsistencia, AnioAsistencia , Asistencia, objProyectoID) VALUES (3, 2005, 'B1', 65) INSERT INTO ScpDigitacionProyecto (MesAsistencia, AnioAsistencia ,
Departamento de Arquitectura y Sistemas de Aplicaciones 9
Asistencia , objProyectoID) VALUES (4, 2005, 'B1', 65) INSERT INTO ScpDigitacionProyecto (MesAsistencia, AnioAsistencia , Asistencia , objProyectoID) VALUES (5, 2005, 'B1', 65) INSERT INTO ScpDigitacionProyecto (MesAsistencia, AnioAsistencia , Asistencia , objProyectoID) VALUES (6, 2005, 'B1', 65) INSERT INTO ScpDigitacionProyecto (MesAsistencia, AnioAsistencia , Asistencia , objProyectoID) VALUES (7, 2005, 'B1', 65) INSERT INTO ScpDigitacionProyecto (MesAsistencia, AnioAsistencia , Asistencia , objProyectoID) VALUES (8, 2005, 'B1', 65) INSERT INTO ScpDigitacionProyecto (MesAsistencia, AnioAsistencia , Asistencia , objProyectoID) VALUES (9, 2005, 'B1', 65)
Al Ejecutar el cdigo, se genera el siguiente mensaje:
10
Para verificar los valores de la Tabla, vuelva a ejecutar: SELECT * From ScpDigitacionProyecto
Paso No.7: Crear una tabla a partir del contenido y la estructura de la tabla ScpDigitacionProyecto Select * Into ScpDigitacionProyectoCopia From ScpDigitacionProyecto
11
Paso No.8: Insertando los registros de la tabla ScpDigitacionProyectoCopia a ScpDigitacionProyecto INSERT Into ScpDigitacionProyecto (MesAsistencia, AnioAsistencia , Asistencia , objProyectoID) (Select MesAsistencia, AnioAsistencia, Asistencia, ObjProyectoID From ScpDigitacionProyectoCopia)
12
Paso No.9: Insertando los registros de la tabla ScpDigitacionProyectoCopia a ScpDigitacionProyecto INSERT Into ScpDigitacionProyecto (MesAsistencia, AnioAsistencia , Asistencia , objProyectoID) (Select MesAsistencia, AnioAsistencia, Asistencia, ObjProyectoID From ScpDigitacionProyectoCopia) Para mostrar el contenido de Ambas Tablas: SELECT * From ScpDigitacionProyecto SELECT * From ScpDigitacionProyectoCopia
Paso No.10: Actualizar la tabla ScpDigitacionProyecto al agregar un constraint (Representa una restriccin que se puede imponer a uno o varios objetos DataColumn) para la columna ScpDigitacionProyectoID
13
Paso No.11: Compruebe que el constraint MesAsistencia funciona. Para esto vaya al Enterprise Manager e Intente ingresar un registro con un valor menor que 1 para el campo MesAsistencia. Paso No.12: Elminar el Constraint creado para el MesAsistencia. ALTER TABLE DROP CONSTRAINT ScpDigitacionProyecto Mes_Check
14
Paso No.13: Alterar una tabla para Modificar el tipo de dato de un campo. EN este caso se cambio el tamao del campo Asistencia a 10 caracteres, adems se puso requerido. ALTER TABLE ALTER COLUMN Muestre la Tabla: Select * From ScpDigitacionProyecto [dbo].[ScpDigitacionProyecto] Asistencia Char(10) NOT NULL
Paso No.14: Visualizar el contenido de la tabla de Digitacin Proyecto. Select * From ScpDigitacionProyecto Paso No.15: Cambiar el valor del anioasistencia 2005 a 2006 para esto hay que buscar todos los registros de digitacin proyecto donde AnioAsistencia = 2005. UPDATE Set Where ScpDigitacionProyecto AnioAsistencia = 2006 AnioAsistencia = 2005
Paso No.16: Compruebe que la actualizacin se llevo a cabo de forma satisfactoria para esto en el enterprise manager o en otra ventana del query analyzer haga un select a la tabla ScpDigitacionProyecto.
15
Tareas a Realizar:
Ahora que tiene dos posibles formas de presentar Datos y hacer rastreos o bsquedas, hacer los ajustes a sus proyectos y presente: a.- Procedimientos Almacenados (para fines prcticos y crear habilidades se definen diez procedimientos con Parmetros y cinco sin parmetros). b.- Funciones recordar que estas pueden ser escalares o retornen tabla (Al igual que el caso anterior, es valido la cantidad, as mismo la distribucin). c.- Deben presentar cada estudiantes ocho Triggers (esto se deben programar en cada tabla, la definicin y como se implemente, eso depende del grupo). d.- Se deben Cumplir todos los incisos anteriores, al igual de la cantidad de registros y todo lo que se refiere a la Informacin que se debe Administrar en las Tablas.
Bibliografa:
En este momento queda pendiente, y en la semana se brindara los detalles (son Ocho textos los que se utilizaron para esta informacin, ms los datos de los profesores). Mi agradecimiento, tanto a los Seores Representantes en Nicaragua de MC Graw Hill: Engel Hurtado y de la Prentice Hall Francisco Mayorqun, quienes siempre muy gustosamente me han facilitado toda la informacin en Libros y textos frescos, no me he olvidado de cada uno de los ttulos, sin falta el lunes los incluir a esta lista. A todos Gracias.
16