0% encontró este documento útil (0 votos)
85 vistas2 páginas

Query Codigos

El documento describe la creación de una tabla llamada ALUMNO y un procedimiento almacenado para generar un ID automático basado en las iniciales del nombre y apellido, el año y ciclo de ingreso, la carrera profesional y un número correlativo. El procedimiento incluye validaciones para evitar duplicados y realiza inserciones en la tabla. Se proporcionan ejemplos de llamadas al procedimiento para registrar alumnos.

Cargado por

thexfilesdbv
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
85 vistas2 páginas

Query Codigos

El documento describe la creación de una tabla llamada ALUMNO y un procedimiento almacenado para generar un ID automático basado en las iniciales del nombre y apellido, el año y ciclo de ingreso, la carrera profesional y un número correlativo. El procedimiento incluye validaciones para evitar duplicados y realiza inserciones en la tabla. Se proporcionan ejemplos de llamadas al procedimiento para registrar alumnos.

Cargado por

thexfilesdbv
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

-- Query creado por: Molocho Huamani Sergio Alvaro

--Implementar un Query que permita crear un ID automático en la tabla ALUMNO. Este ID,
--debe contener los siguientes caracteres y en ese órden:
--Iniciales de Nombres y Apellidos (01 dígito por cada uno de ellos = 4 dígitos)
--Años de ingreso (04 dígitos)={2022,2023,2024…}
--Ciclo de Ingreso (01 dígito)={1,2,3,4}
--Iniciales de la Carrera Profesional (06 dígitos primeros)={'INGSIS','INGELE','ENGRED',…}
--Número correlativo ={0001,0002,0003,…}
--Desarrollo

--Creación tabla ALUMNO

CREATE TABLE ALUMNO(


ID CHAR(19) NOT NULL PRIMARY KEY,
NOMBRE VARCHAR(120) NOT NULL,
AÑO_INGRESO CHAR(4) NOT NULL,
CICLO CHAR(1) NOT NULL,
CARRERA VARCHAR(50) NOT NULL
)

--Creación de Procedimiento
CREATE PROC GENERAR_ID(
@NOM1 VARCHAR(20),
@NOM2 VARCHAR(20),
@APE1 VARCHAR(20),
@APE2 VARCHAR(20),
@AÑO CHAR(4),
@CIC CHAR(1),
@CAR VARCHAR(50))

AS
BEGIN TRAN GENERAR
BEGIN TRY
DECLARE @ID CHAR(19)
DECLARE @COD_NOM CHAR(4)=LEFT(@NOM1,1)+LEFT(@NOM2,1)+LEFT(@APE1,1)+LEFT(@APE2,1)
DECLARE @POS_ESP INT = CHARINDEX(' ', @CAR)
DECLARE @COD_CAR CHAR(6)=LEFT(@CAR,3)+SUBSTRING(@CAR,@POS_ESP+1,3)
DECLARE @CONT INT=(SELECT COUNT(*)FROM ALUMNO),@NUM_REG INT=1
WHILE @CONT>0
BEGIN
SET @NUM_REG+=1
SET @CONT-=1
END
IF NOT EXISTS(
SELECT*FROM ALUMNO
WHERE NOMBRE=@APE1+' '+@APE2+' '+@NOM1+' '+@NOM2
AND AÑO_INGRESO=@AÑO
AND CICLO=@CIC
AND CARRERA=@CAR)
BEGIN
SET @ID=@COD_NOM+@AÑO+@CIC+@COD_CAR+FORMAT(@NUM_REG,'0000')
INSERT INTO ALUMNO VALUES (@ID,@APE1+' '+@APE2+' '+@NOM1+'
'+@NOM2,@AÑO,@CIC,@CAR)
PRINT 'SE GENERO EL ID CORRECTAMENTE (SE INSERTARON LOS DATOS)'
END
ELSE
BEGIN
PRINT 'ERROR AL REGISTRAR ALUMNO'
END
COMMIT TRAN GENERAR
END TRY
BEGIN CATCH
ROLLBACK TRAN GENERAR
PRINT 'ERROR AL REGISTRAR ALUMNO'
END CATCH

GENERAR_ID 'PEDRO','ALBERTO','DAVILA','ENCISO','2022','1','INGENIERIA SISTEMAS'


GENERAR_ID 'ANA','ESTHER','BARRIENTOS','ATENCIO','2022','1','INGENIERIA SISTEMAS'
GENERAR_ID 'JUAN','MANUEL','PICAPIEDRA','MANRIQUE','2022','1','INGENIERIA SOFTWARE'

SELECT*FROM ALUMNO

También podría gustarte