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));GO

2. 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;GO

3. 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;GO

4. 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;GO

5. 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