Procedimientos Almacenados en SQL Server para CRUD de Alumnos
Enviado por Comunidad Wikiteka y clasificado en Inglés
Escrito el en
español con un tamaño de 3,42 KB
Implementación de Procedimientos Almacenados Básicos en SQL Server
A continuación se presenta el script estructurado en Transact-SQL (T-SQL) para la creación de una base de datos de pruebas, una tabla de registro y los procedimientos almacenados (CRUD: inserción, modificación, eliminación, consulta y búsqueda) correspondientes.
1. Creación de la Base de Datos y Tabla
USE master;GOCREATE DATABASE BDPruebas;GOUSE BDPruebas;GOCREATE TABLE TAlumnos ( idalumno INT IDENTITY(5, 5), apellido VARCHAR(50), nombres VARCHAR(50), fechanacimiento DATETIME, edad INT, PRIMARY KEY (idalumno));GO2. Procedimiento para Insertar Alumno
-- Insertar AlumnoIF EXISTS (SELECT * FROM SysObjects WHERE name = 'sp_InsertarAlumno') DROP PROC sp_InsertarAlumno;GOCREATE PROC sp_InsertarAlumno ( @apellido VARCHAR(50), @nombres VARCHAR(50), @fechanacimiento DATETIME, @edad INT)ASBEGIN IF NOT EXISTS (SELECT * FROM TAlumnos WHERE apellido = @apellido) BEGIN INSERT INTO TAlumnos (apellido, nombres, fechanacimiento, edad) VALUES (@apellido, @nombres, @fechanacimiento, @edad); SELECT CodError = 0, Mensaje = 'Se insertó el alumno correctamente'; END ELSE BEGIN SELECT CodError = 1, Mensaje = 'El alumno ya existe'; ENDEND;GO3. Procedimiento para Modificar Alumno
-- Modificar AlumnoIF EXISTS (SELECT * FROM SysObjects WHERE name = 'sp_ModificarAlumno') DROP PROC sp_ModificarAlumno;GOCREATE PROC sp_ModificarAlumno ( @apellido VARCHAR(50), @nombres VARCHAR(50), @fechanacimiento DATETIME, @edad INT)ASBEGIN IF EXISTS (SELECT * FROM TAlumnos WHERE apellido = @apellido) BEGIN UPDATE TAlumnos SET apellido = @apellido, nombres = @nombres, fechanacimiento = @fechanacimiento, edad = @edad WHERE apellido = @apellido; SELECT CodError = 0, Mensaje = 'Se modificó correctamente'; END ELSE BEGIN SELECT CodError = 1, Mensaje = 'El alumno no existe'; ENDEND;GO4. Procedimiento para Eliminar Alumno
-- Eliminar AlumnoIF EXISTS (SELECT * FROM SysObjects WHERE name = 'sp_EliminarAlumno') DROP PROC sp_EliminarAlumno;GOCREATE PROC sp_EliminarAlumno ( @apellido VARCHAR(50))ASBEGIN IF EXISTS (SELECT * FROM TAlumnos WHERE apellido = @apellido) BEGIN DELETE FROM TAlumnos WHERE apellido = @apellido; SELECT CodError = 0, Mensaje = 'Se eliminó el alumno'; END ELSE BEGIN SELECT CodError = 1, Mensaje = 'El alumno no existe'; ENDEND;GO5. Procedimiento para Listar Alumnos
-- Listar AlumnosIF OBJECT_ID('sp_ListarAlumno', 'P') IS NOT NULL DROP PROCEDURE sp_ListarAlumno;GOCREATE PROCEDURE sp_ListarAlumnoASBEGIN SELECT * FROM TAlumnos;END;GO-- Ejecución de ejemplo:-- EXEC sp_ListarAlumno;6. Procedimiento para Buscar Alumno por Apellido
-- Buscar AlumnoIF OBJECT_ID('sp_BuscarAlumno', 'P') IS NOT NULL DROP PROCEDURE sp_BuscarAlumno;GOCREATE PROCEDURE sp_BuscarAlumno ( @apellido VARCHAR(50))ASBEGIN IF EXISTS (SELECT * FROM TAlumnos WHERE apellido = @apellido) BEGIN SELECT * FROM TAlumnos WHERE apellido = @apellido; END ELSE BEGIN SELECT Mensaje = 'No existe este alumno, verifique si ingresó los datos correctamente'; ENDEND;GO