Documente Academic
Documente Profesional
Documente Cultură
RAPORT
Lucrare de laborator nr.3
Disciplina: Baze de date
Tema: Proceduri stocate și funcții definite de utilizator. Crearea și
utilizarea declanșatoarelor.
Chişinău 2024
Primele 5 exerciții pagina 329:
-- Returnarea rezultatului
SELECT @NumarProfesori AS NumarTotalProfesori;
END;
EXEC CalculeazaNumarProfesoriFacultate;
Result:
END;
Result:
CREATE PROCEDURE ProfesoriCuMaiMulteDiscipline
@numar_discipline INT
AS
BEGIN
SELECT
p.Nume_Profesor,
p.Prenume_Profesor
FROM
[universitatea].[dbo].[profesori] p
INNER JOIN
[universitatea].[dbo].[studenti_reusita] sr ON p.Id_Profesor = sr.Id_Profesor
GROUP BY
p.Nume_Profesor, p.Prenume_Profesor
HAVING
COUNT(DISTINCT sr.Id_Disciplina) >= @numar_discipline
END
Result:
-- Afișați rezultatul
SELECT @NumarExamene AS 'Numar_Examene'
END
-- Afișați rezultatul
PRINT 'Numărul de examene la care s-a prezentat studentul: ' +
CAST(@NumarExameneStudent AS NVARCHAR(10))
Result:
EXEC [dbo].[InserareStudentSiReusita]
@Id_Student = 30,
@Nume_Student = 'Caraman',
@Prenume_Student = 'Eliza',
@Data_Nastere_Student = '2001-01-15',
@Adresa_Postala_Student = 'Str. Calea Iesilor 45',
@Cod_Grupa = 'TI171';
Result:
-- Crearea declanșatorului
CREATE TRIGGER dbo.trVerificaModificareNoteData
ON dbo.studenti_reusita
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;
Result:
Result:
-- Crearea declanșatorului
CREATE TRIGGER tr_AutoPopulateStudentiReusita
ON studenti
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
Result:
-- Crearea declanșatorului
CREATE TRIGGER tr_InterziceModificareaNotelorData
ON studenti_reusita
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;
Result:
-- Verificăm dacă declanșatorul DDL există deja și, în caz afirmativ, îl ștergem
IF EXISTS (SELECT * FROM sys.triggers WHERE name =
'tr_InterziceModificareId_Disciplina')
BEGIN
DROP TRIGGER tr_InterziceModificareId_Disciplina ON DATABASE;
END
GO
Result:
Concluzie:
Procedurile stocate oferă o modalitate de a defini și executa logică complexă direct în baza de
date. Ele pot fi folosite pentru diverse scopuri, inclusiv calcularea și returnarea rezultatelor,
manipularea datelor și implementarea logicii de afaceri personalizate. În plus, ele pot fi
reutilizate și apelate din diferite aplicații sau scripturi, ceea ce duce la o dezvoltare și
întreținere mai eficiente a aplicațiilor.
Declanșatoarele sunt obiecte care răspund automat la anumite evenimente în baza de date,
cum ar fi inserările, actualizările sau ștergerile de date. Ele permit implementarea de logică
automatizată, de exemplu, validarea datelor înainte de a fi introduse în baza de date sau
notificarea despre anumite evenimente către alte componente ale sistemului. Prin utilizarea
lor, se poate asigura consistența și integritatea datelor în baza de date.