Enviar pesquisa
Carregar
Sql xp 10
•
Transferir como PPS, PDF
•
0 gostou
•
570 visualizações
Niit Care
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 49
Baixar agora
Recomendados
Sql xp 11
Sql xp 11
Niit Care
Sql xp 09
Sql xp 09
Niit Care
Sql xp 01
Sql xp 01
Niit Care
Sql xp 02
Sql xp 02
Niit Care
Sql xp 08
Sql xp 08
Niit Care
Visualbasic tutorial
Visualbasic tutorial
eduardo huarcaya rios
02 t1 s2_linux_lesson2
02 t1 s2_linux_lesson2
Niit Care
02 iec t1_s1_plt_session_02
02 iec t1_s1_plt_session_02
Niit Care
Recomendados
Sql xp 11
Sql xp 11
Niit Care
Sql xp 09
Sql xp 09
Niit Care
Sql xp 01
Sql xp 01
Niit Care
Sql xp 02
Sql xp 02
Niit Care
Sql xp 08
Sql xp 08
Niit Care
Visualbasic tutorial
Visualbasic tutorial
eduardo huarcaya rios
02 t1 s2_linux_lesson2
02 t1 s2_linux_lesson2
Niit Care
02 iec t1_s1_plt_session_02
02 iec t1_s1_plt_session_02
Niit Care
Dacj 1-3 b
Dacj 1-3 b
Niit Care
Comp tia n+_session_08
Comp tia n+_session_08
Niit Care
01 iec t1_s1_plt_session_01
01 iec t1_s1_plt_session_01
Niit Care
SQL | Computer Science
SQL | Computer Science
Transweb Global Inc
MS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTURE
Douglas Bernardini
Sql server basics
Sql server basics
VishalJharwade
Ajs 1 b
Ajs 1 b
Niit Care
Ms sql server architecture
Ms sql server architecture
Ajeet Singh
Lecture 4. MS SQL. DML Triggers
Lecture 4. MS SQL. DML Triggers
Alexey Furmanov
Tdd,Ioc
Tdd,Ioc
Antonio Radesca
Flexviews materialized views for my sql
Flexviews materialized views for my sql
Justin Swanhart
Eclipse Summit Europe '10 - Test UI Aspects of Plug-ins
Eclipse Summit Europe '10 - Test UI Aspects of Plug-ins
Tonny Madsen
How to instantiate any view controller for free
How to instantiate any view controller for free
BenotCaron
10 qmds2005 session14
10 qmds2005 session14
Niit Care
CASE STUDY InternetExcel Exercises, page 434, textRecord your.docx
CASE STUDY InternetExcel Exercises, page 434, textRecord your.docx
keturahhazelhurst
L0020 - The Basic RCP Application
L0020 - The Basic RCP Application
Tonny Madsen
To Study The Tips Tricks Guidelines Related To Performance Tuning For N Hib...
To Study The Tips Tricks Guidelines Related To Performance Tuning For N Hib...
Shahzad
04a intro while
04a intro while
hasfaa1017
Tools and Techniques for Understanding Threading Behavior in Android*
Tools and Techniques for Understanding Threading Behavior in Android*
Intel® Software
Taming startup dynamics - Magnus Jungsbluth & Domagoj Cosic
Taming startup dynamics - Magnus Jungsbluth & Domagoj Cosic
mfrancis
Introduction to Reactive Extensions (Rx)
Introduction to Reactive Extensions (Rx)
Tamir Dresher
IBM Informix dynamic server 11 10 Cheetah Sql Features
IBM Informix dynamic server 11 10 Cheetah Sql Features
Keshav Murthy
Mais conteúdo relacionado
Destaque
Dacj 1-3 b
Dacj 1-3 b
Niit Care
Comp tia n+_session_08
Comp tia n+_session_08
Niit Care
01 iec t1_s1_plt_session_01
01 iec t1_s1_plt_session_01
Niit Care
SQL | Computer Science
SQL | Computer Science
Transweb Global Inc
MS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTURE
Douglas Bernardini
Sql server basics
Sql server basics
VishalJharwade
Ajs 1 b
Ajs 1 b
Niit Care
Ms sql server architecture
Ms sql server architecture
Ajeet Singh
Destaque
(8)
Dacj 1-3 b
Dacj 1-3 b
Comp tia n+_session_08
Comp tia n+_session_08
01 iec t1_s1_plt_session_01
01 iec t1_s1_plt_session_01
SQL | Computer Science
SQL | Computer Science
MS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTURE
Sql server basics
Sql server basics
Ajs 1 b
Ajs 1 b
Ms sql server architecture
Ms sql server architecture
Semelhante a Sql xp 10
Lecture 4. MS SQL. DML Triggers
Lecture 4. MS SQL. DML Triggers
Alexey Furmanov
Tdd,Ioc
Tdd,Ioc
Antonio Radesca
Flexviews materialized views for my sql
Flexviews materialized views for my sql
Justin Swanhart
Eclipse Summit Europe '10 - Test UI Aspects of Plug-ins
Eclipse Summit Europe '10 - Test UI Aspects of Plug-ins
Tonny Madsen
How to instantiate any view controller for free
How to instantiate any view controller for free
BenotCaron
10 qmds2005 session14
10 qmds2005 session14
Niit Care
CASE STUDY InternetExcel Exercises, page 434, textRecord your.docx
CASE STUDY InternetExcel Exercises, page 434, textRecord your.docx
keturahhazelhurst
L0020 - The Basic RCP Application
L0020 - The Basic RCP Application
Tonny Madsen
To Study The Tips Tricks Guidelines Related To Performance Tuning For N Hib...
To Study The Tips Tricks Guidelines Related To Performance Tuning For N Hib...
Shahzad
04a intro while
04a intro while
hasfaa1017
Tools and Techniques for Understanding Threading Behavior in Android*
Tools and Techniques for Understanding Threading Behavior in Android*
Intel® Software
Taming startup dynamics - Magnus Jungsbluth & Domagoj Cosic
Taming startup dynamics - Magnus Jungsbluth & Domagoj Cosic
mfrancis
Introduction to Reactive Extensions (Rx)
Introduction to Reactive Extensions (Rx)
Tamir Dresher
IBM Informix dynamic server 11 10 Cheetah Sql Features
IBM Informix dynamic server 11 10 Cheetah Sql Features
Keshav Murthy
Sql xp 06
Sql xp 06
Niit Care
Aae oop xp_13
Aae oop xp_13
Niit Care
Unit 4
Unit 4
Abha Damani
1 Database Security Lab 2 – Virtual Private Database.docx
1 Database Security Lab 2 – Virtual Private Database.docx
jeremylockett77
Aae oop xp_07
Aae oop xp_07
Niit Care
C# Tutorial MSM_Murach chapter-05-slides
C# Tutorial MSM_Murach chapter-05-slides
Sami Mut
Semelhante a Sql xp 10
(20)
Lecture 4. MS SQL. DML Triggers
Lecture 4. MS SQL. DML Triggers
Tdd,Ioc
Tdd,Ioc
Flexviews materialized views for my sql
Flexviews materialized views for my sql
Eclipse Summit Europe '10 - Test UI Aspects of Plug-ins
Eclipse Summit Europe '10 - Test UI Aspects of Plug-ins
How to instantiate any view controller for free
How to instantiate any view controller for free
10 qmds2005 session14
10 qmds2005 session14
CASE STUDY InternetExcel Exercises, page 434, textRecord your.docx
CASE STUDY InternetExcel Exercises, page 434, textRecord your.docx
L0020 - The Basic RCP Application
L0020 - The Basic RCP Application
To Study The Tips Tricks Guidelines Related To Performance Tuning For N Hib...
To Study The Tips Tricks Guidelines Related To Performance Tuning For N Hib...
04a intro while
04a intro while
Tools and Techniques for Understanding Threading Behavior in Android*
Tools and Techniques for Understanding Threading Behavior in Android*
Taming startup dynamics - Magnus Jungsbluth & Domagoj Cosic
Taming startup dynamics - Magnus Jungsbluth & Domagoj Cosic
Introduction to Reactive Extensions (Rx)
Introduction to Reactive Extensions (Rx)
IBM Informix dynamic server 11 10 Cheetah Sql Features
IBM Informix dynamic server 11 10 Cheetah Sql Features
Sql xp 06
Sql xp 06
Aae oop xp_13
Aae oop xp_13
Unit 4
Unit 4
1 Database Security Lab 2 – Virtual Private Database.docx
1 Database Security Lab 2 – Virtual Private Database.docx
Aae oop xp_07
Aae oop xp_07
C# Tutorial MSM_Murach chapter-05-slides
C# Tutorial MSM_Murach chapter-05-slides
Mais de Niit Care
Ajs 4 b
Ajs 4 b
Niit Care
Ajs 4 a
Ajs 4 a
Niit Care
Ajs 4 c
Ajs 4 c
Niit Care
Ajs 3 b
Ajs 3 b
Niit Care
Ajs 3 a
Ajs 3 a
Niit Care
Ajs 3 c
Ajs 3 c
Niit Care
Ajs 2 b
Ajs 2 b
Niit Care
Ajs 2 a
Ajs 2 a
Niit Care
Ajs 2 c
Ajs 2 c
Niit Care
Ajs 1 a
Ajs 1 a
Niit Care
Ajs 1 c
Ajs 1 c
Niit Care
Dacj 4 2-c
Dacj 4 2-c
Niit Care
Dacj 4 2-b
Dacj 4 2-b
Niit Care
Dacj 4 2-a
Dacj 4 2-a
Niit Care
Dacj 4 1-c
Dacj 4 1-c
Niit Care
Dacj 4 1-b
Dacj 4 1-b
Niit Care
Dacj 4 1-a
Dacj 4 1-a
Niit Care
Dacj 1-2 b
Dacj 1-2 b
Niit Care
Dacj 1-3 c
Dacj 1-3 c
Niit Care
Dacj 1-3 a
Dacj 1-3 a
Niit Care
Mais de Niit Care
(20)
Ajs 4 b
Ajs 4 b
Ajs 4 a
Ajs 4 a
Ajs 4 c
Ajs 4 c
Ajs 3 b
Ajs 3 b
Ajs 3 a
Ajs 3 a
Ajs 3 c
Ajs 3 c
Ajs 2 b
Ajs 2 b
Ajs 2 a
Ajs 2 a
Ajs 2 c
Ajs 2 c
Ajs 1 a
Ajs 1 a
Ajs 1 c
Ajs 1 c
Dacj 4 2-c
Dacj 4 2-c
Dacj 4 2-b
Dacj 4 2-b
Dacj 4 2-a
Dacj 4 2-a
Dacj 4 1-c
Dacj 4 1-c
Dacj 4 1-b
Dacj 4 1-b
Dacj 4 1-a
Dacj 4 1-a
Dacj 1-2 b
Dacj 1-2 b
Dacj 1-3 c
Dacj 1-3 c
Dacj 1-3 a
Dacj 1-3 a
Último
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
Zilliz
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
johnbeverley2021
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
DianaGray10
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
WSO2
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Edi Saputra
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
danishmna97
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Juan lago vázquez
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Andrey Devyatkin
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
apidays
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
apidays
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Remote DBA Services
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
MIND CTI
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
apidays
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
apidays
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Orbitshub
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
Christopher Logan Kennedy
Último
(20)
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
Sql xp 10
1.
Implementing Triggers and
Transactions Objectives In this lesson, you will learn to: Create the INSERT, DELETE, and UPDATE triggers Modify triggers Drop triggers Enforce data integrity through triggers Use the AFTER and the INSTEAD OFF triggers ©NIIT SQL/Lesson 10/Slide 1 of 49
2.
Implementing Triggers and
Transactions 10.D.1 Using the INSERT Trigger When a new row is inserted in the Requisition table, the value of the siNoOfVacancy attribute should be less than the difference between the iBudgetedStrength and iCurrentStrength attributes of the Position table. Ensure that this user-defined data integrity requirement is implemented. ©NIIT SQL/Lesson 10/Slide 2 of 49
3.
Implementing Triggers and
Transactions Task List Identify the object that can maintain user-defined data integrity Draft statements to create an INSERT trigger Create a trigger in the database Check the existence of the trigger in the database Insert a row in the Requisition table and verify that the trigger is working ©NIIT SQL/Lesson 10/Slide 3 of 49
4.
Implementing Triggers and
Transactions Identify the object that can maintain user-defined data integrity A trigger is a block of code that constitutes a set of T-SQL statements that are activated in response to certain actions Characteristics of a Trigger It is fired automatically by SQL Server when any data modification statement is issued It cannot be explicitly invoked or executed, as in the case of the stored procedures ©NIIT SQL/Lesson 10/Slide 4 of 49
5.
Implementing Triggers and
Transactions Identify the object that can maintain data integrity (Contd.) It prevents incorrect, unauthorized or inconsistent changes in data It cannot return data to the user Result: A trigger can be used to maintain data integrity ©NIIT SQL/Lesson 10/Slide 5 of 49
6.
Implementing Triggers and
Transactions Draft the statements to create an INSERT trigger Creating triggers Triggers can be created in the Query Analyzer window by using the CREATE TRIGGER statement Syntax CREATE TRIGGER trigger_name ON table_name [WITH ENCRYPTION] FOR [INSERT | DELETE | UPDATE] AS sql_statements ©NIIT SQL/Lesson 10/Slide 6 of 49
7.
Implementing Triggers and
Transactions Draft the statements to create an INSERT trigger (Contd.) Magic tables Whenever a trigger fires in response to the INSERT, DELETE, or UPDATE statement, two special tables are created. These are the inserted and the deleted tables. They are also referred to as magic tables The inserted table contains a copy of all records that are inserted in the trigger table The deleted table contains all records that have been deleted from the trigger table Whenever any updation takes place, the trigger uses both the inserted and the deleted tables ©NIIT SQL/Lesson 10/Slide 7 of 49
8.
Implementing Triggers and
Transactions Draft the statements to create an INSERT trigger (Contd.) The INSERT Trigger An INSERT trigger is fired whenever an attempt is made to insert a row in the trigger table When an INSERT statement is issued, a new row is added to both the trigger and the inserted tables ©NIIT SQL/Lesson 10/Slide 8 of 49
9.
Implementing Triggers and
Transactions Draft the statements to create an insert trigger (Contd.) Action: The table on which the trigger has to be created is Requisition The trigger has to be of insert type The name of the trigger can be trgInsertRequisition Write the batch statements CREATE TRIGGER trgInsertRequisition ON Requisition FOR insert AS DECLARE @VacancyReported int DECLARE @ActualVacancy int SELECT @ActualVacancy = iBudgetedStrength - iCurrentStrength ©NIIT SQL/Lesson 10/Slide 9 of 49
10.
Implementing Triggers and
Transactions Draft the statements to create an insert trigger (Contd.) FROM Position Join Inserted on Position.cPositionCode = Inserted.cPositionCode SELECT @VacancyReported = inserted.siNoOfVacancy FROM inserted IF(@VacancyReported @Actualvacancy) BEGIN PRINT 'The actual vacancies are less than the vacancies reported. Hence, cannot insert.' ROLLBACK TRANSACTION END RETURN ©NIIT SQL/Lesson 10/Slide 10 of 49
11.
Implementing Triggers and
Transactions Create a trigger in the database Action: Type the drafted code in the Query Analyzer window Press F5 to execute the code ©NIIT SQL/Lesson 10/Slide 11 of 49
12.
Implementing Triggers and
Transactions Check the existence of the trigger in the database Action: sp_help trgInsertRequisition ©NIIT SQL/Lesson 10/Slide 12 of 49
13.
Implementing Triggers and
Transactions Insert a row in the Requisition table and verify that the trigger is working Action: INSERT Requisition VALUES('000003','0001',getdate(), getdate() + 7, '0001', 'North', 20) ©NIIT SQL/Lesson 10/Slide 13 of 49
14.
Implementing Triggers and
Transactions Just a Minute... 1. What are magic tables? 2. Which statement is used to create triggers? ©NIIT SQL/Lesson 10/Slide 14 of 49
15.
Implementing Triggers and
Transactions 10.P.1 Using the INSERT Trigger When a new row is added to the Employee table, the iCurrentStrength attribute of the Position table should be increased by one. ©NIIT SQL/Lesson 10/Slide 15 of 49
16.
Implementing Triggers and
Transactions 10.D.2 Using the DELETE Trigger Create a trigger to disable deleting rows from the ContractRecruiter table ©NIIT SQL/Lesson 10/Slide 16 of 49
17.
Implementing Triggers and
Transactions Task List Draft statements to create a delete trigger Create the trigger in the database Check the existence of the trigger in the database Delete a row from the ContractRecruiter table to verify the trigger ©NIIT SQL/Lesson 10/Slide 17 of 49
18.
Implementing Triggers and
Transactions Draft statements to create a DELETE trigger DELETE trigger A DELETE trigger is fired whenever an attempt is made to delete rows from the trigger table There are three ways of implementing referential integrity using a DELETE trigger. These are: ® The Cascade method ® The Restrict method ® The Nullify method ©NIIT SQL/Lesson 10/Slide 18 of 49
19.
Implementing Triggers and
Transactions Draft statements to create a DELETE trigger (Contd.) Result: The table on which the trigger is to be created is ContractRecruiter The trigger is a DELETE trigger The name of the trigger is trgDeleteContractRecruiter The batch statements are: CREATE TRIGGER trgDeleteContractRecruiter ON ContractRecruiter FOR delete AS PRINT 'Deletion of Contract Recruiters is not allowed' ROLLBACK TRANSACTION RETURN ©NIIT SQL/Lesson 10/Slide 19 of 49
20.
Implementing Triggers and
Transactions Create the trigger in the database Action: Type the drafted code in the Query Analyzer window Press F5 to execute the code Check the existence of the trigger in the database Action: sp_help trgDeleteContractRecruiter ©NIIT SQL/Lesson 10/Slide 20 of 49
21.
Implementing Triggers and
Transactions Delete a row from the ContractRecruiter table to verify the trigger Action: Execute the following statement: DELETE ContractRecruiter WHERE cContractRecruiterCode = '000001' When this command is executed, the trigger would be fired and it would prevent the deletion of rows from the ContractRecruiter table ©NIIT SQL/Lesson 10/Slide 21 of 49
22.
Implementing Triggers and
Transactions Just a Minute... When is a DELETE trigger fired? ©NIIT SQL/Lesson 10/Slide 22 of 49
23.
Implementing Triggers and
Transactions 10.D 3. Using the UPDATE Trigger Create a trigger so that the average siPercentageCharge attribute of the ContractRecruiter table should not be more than 11 when the value of siPercentageCharge is increased for any ContractRecruiter ©NIIT SQL/Lesson 10/Slide 23 of 49
24.
Implementing Triggers and
Transactions Task List Draft statements to create an update trigger Create the trigger in the database Check the existence of the trigger in the database Update siPercentageCharge of the ContractRecruiter table and verify that the average does not exceed the required value ©NIIT SQL/Lesson 10/Slide 24 of 49
25.
Implementing Triggers and
Transactions Draft statements to create an UPDATE trigger The UPDATE trigger This trigger is fired whenever there is a modification to the trigger table Result: The table on which the trigger is to be created is ContractRecruiter The trigger is an UPDATE trigger The name of the trigger is trgUpdateContractRecruiter ©NIIT SQL/Lesson 10/Slide 25 of 49
26.
Implementing Triggers and
Transactions Draft statements to create an UPDATE trigger (Contd.) The trigger is: CREATE TRIGGER trgUpdateContractRecruiter ON ContractRecruiter FOR UPDATE AS DECLARE @AvgPercentageCharge int SELECT @AvgPercentageCharge = avg(siPercentageCharge) FROM ContractRecruiter IF(@AvgPercentageCharge 11) BEGIN PRINT 'The average cannot be more than 11' ROLLBACK TRANSACTION END RETURN ©NIIT SQL/Lesson 10/Slide 26 of 49
27.
Implementing Triggers and
Transactions Create the trigger in the database In the Query Analyzer window, type the draft code Press F5 to execute the code Check the existence of the trigger in the database Action: sp_help trgUpdateContractRecruiter ©NIIT SQL/Lesson 10/Slide 27 of 49
28.
Implementing Triggers and
Transactions Update siPercentageCharge of the ContractRecruiter table and verify that the average does not exceed the required value Action: Execute the following UPDATE statement: UPDATE ContractRecruiter SET siPercentageCharge =siPercentageCharge+10 WHERE cContractRecruiterCode='0002’ If the average exceeds the limit, then the trigger would generate an error message ©NIIT SQL/Lesson 10/Slide 28 of 49
29.
Implementing Triggers and
Transactions 10.P.2 Using the UPDATE Trigger When an employee resigns, the resignation date is updated in the Employee table. After the resignation date is updated, the iCurrentStrength attribute of the Position table should be decreased by 1. ©NIIT SQL/Lesson 10/Slide 29 of 49
30.
Implementing Triggers and
Transactions 10.D.4 Modifying the Trigger Modify the trigger trgInsertRequisition that was created earlier to check whether the siNoOfVacancy attribute is less than the difference between iBudgetedStrength and iCurrentStrength from the Position table. If so, the trigger should display a message: “Sorry, the available vacancy is less than the reported vacancy. The transaction cannot be processed.” ©NIIT SQL/Lesson 10/Slide 30 of 49
31.
Implementing Triggers and
Transactions Task List Draft the command to modify the trigger Create the trigger in the database Check that the trigger has been modified in the database Insert a row in the Requisition table and verify that the trigger is working ©NIIT SQL/Lesson 10/Slide 31 of 49
32.
Implementing Triggers and
Transactions Draft the command to modify the trigger The ALTER TRIGGER Command The contents of a trigger can be modified by: ® Dropping the trigger and recreating it ® Using the ALTER TRIGGER statement It is advisable to drop a trigger and recreate it, if the objects being referenced by it are renamed ©NIIT SQL/Lesson 10/Slide 32 of 49
33.
Implementing Triggers and
Transactions Draft the command to modify the trigger (Contd.) Syntax: ALTER TRIGGER trigger_name ON table_name [WITH ENCRYPTION] FOR [INSERT | DELETE | UPDATE] AS sql_statements Action: The table on which the trigger had been created is Requisition Determine the type of trigger The name of the trigger to be modified is trgInsertRequisition ©NIIT SQL/Lesson 10/Slide 33 of 49
34.
Implementing Triggers and
Transactions Draft the command to modify the trigger (Contd.) Write the batch statements: ALTER TRIGGER trgInsertRequisition ON Requisition FOR insert AS DECLARE @VacancyReported int DECLARE @ActualVacancy int SELECT @ActualVacancy = iBudgetedStrength – iCurrentStrength FROM Position SELECT @VacancyReported = inserted.siNoOfVacancy FROM inserted ©NIIT SQL/Lesson 10/Slide 34 of 49
35.
Implementing Triggers and
Transactions Draft the command to modify the trigger (Contd.) IF(@VacancyReported @ActualVacancy) BEGIN RAISERROR ('Sorry, the available vacancy is less than the reported vacancy. The transaction cannot be processed.', 10, 1) ROLLBACK TRANSACTION END RETURN Create the trigger in the database Action: In the Query Analyzer window, type the drafted code Press F5 to execute the batch statement ©NIIT SQL/Lesson 10/Slide 35 of 49
36.
Implementing Triggers and
Transactions Check that the trigger has been modified in the database Action: sp_helptext trgInsertRequisition Insert a row in Requisition table and verify that the trigger is working Action: INSERT Requisition VALUES('000002','0001',getdate(),getdate() +7,’0001','North',20) ©NIIT SQL/Lesson 10/Slide 36 of 49
37.
Implementing Triggers and
Transactions Just a Minute... Which statement is used to recreate a trigger? ©NIIT SQL/Lesson 10/Slide 37 of 49
38.
Implementing Triggers and
Transactions 10.D.5 Dropping the Trigger The DELETE trigger named trgDeleteContractRecruiter needs to be removed, as it is no longer required. ©NIIT SQL/Lesson 10/Slide 38 of 49
39.
Implementing Triggers and
Transactions Task List Draft the command to delete the trigger Execute the command Verify that the trigger has been removed ©NIIT SQL/Lesson 10/Slide 39 of 49
40.
Implementing Triggers and
Transactions Draft the command to delete the trigger The DROP TRIGGER Command is used to delete a trigger from the database Syntax: DROP TRIGGER trigger_name[,..n] Action: The command to delete the trigger would be: DROP TRIGGER trgDeleteContractRecruiter ©NIIT SQL/Lesson 10/Slide 40 of 49
41.
Implementing Triggers and
Transactions Execute the command Action: In the Query Analyzer window, type the drafted code Press F5 to execute the batch statement Verify that the trigger has been removed Action: sp_help trgDeleteContractRecruiter The above command will give an error message as the trigger has been removed ©NIIT SQL/Lesson 10/Slide 41 of 49
42.
Implementing Triggers and
Transactions Enforcing Data Integrity Through Triggers Triggers and Data Integrity A trigger can be used to enforce business rules and data integrity in the following ways: ® Ifchanges are made to the master table, then the same changes are cascaded to all the dependent tables ® Ifsome changes violate referential integrity, then all such changes are rejected, thereby canceling any attempt to modify data in the database ® It allows very complex restrictions to be enforced ® Itcan perform a particular action, depending on the outcome of the modifications that have been made to the tables ©NIIT SQL/Lesson 10/Slide 42 of 49
43.
Implementing Triggers and
Transactions Enforcing Data Integrity Through Triggers (Contd.) Multiple Triggers SQL Server allows multiple triggers to be defined on a given table. This implies that a single DML statement may fire two or more triggers. The triggers are fired in the order of creation AFTER and INSTEAD OF Triggers The AFTER trigger can be created on any table for the INSERT, UPDATE, or DELETE operation just like the normal triggers The AFTER trigger gets fired after the execution of the DML operation for which it has been defined ©NIIT SQL/Lesson 10/Slide 43 of 49
44.
Implementing Triggers and
Transactions Enforcing Data Integrity Through Triggers (Contd.) By default, if more than one AFTER trigger is created on a table for a DML operation such as INSERT, UPDATE, or DELETE, then the sequence of execution is the order in which they were created In case you have multiple AFTER triggers for any single DML operation, you can change the sequence of execution of these triggers by using the sp_settriggerorder system stored procedure Syntax sp_settriggerorder triggername,order-value,DML- operation ©NIIT SQL/Lesson 10/Slide 44 of 49
45.
Implementing Triggers and
Transactions Enforcing Data Integrity Through Triggers (Contd.) INSTEAD OF triggers can be primarily used to perform an action such as a DML operation, on another table or view This type of trigger can be created on both table as well as on a view Unlike AFTER triggers you cannot create more than one INSTEAD OF trigger for a DML operation on the same table or view ©NIIT SQL/Lesson 10/Slide 45 of 49
46.
Implementing Triggers and
Transactions Just a Minute... How are triggers used to maintain integrity and consistency of data? ©NIIT SQL/Lesson 10/Slide 46 of 49
47.
Implementing Triggers and
Transactions Summary In this lesson you learned that: A trigger is a block of code that constitutes a set of T-SQL statements that get activated in response to certain actions A trigger fires in response to the INSERT, UPDATE, and DELETE statements A trigger can be created in the Query Analyzer by using the CREATE TRIGGER statement A magic table is a conceptual table that is structurally similar to the table on which a trigger is defined ©NIIT SQL/Lesson 10/Slide 47 of 49
48.
Implementing Triggers and
Transactions Summary (Contd.) There are two types of magic tables: Inserted, which stores a copy of the rows that have been inserted into the trigger table Deleted, which stores those records that have been deleted from the trigger table A trigger can be viewed using the sp_help and sp_helptext system stored procedures A trigger can be altered using the ALTER TRIGGER statement A trigger can be deleted using the DROP TRIGGER statement ©NIIT SQL/Lesson 10/Slide 48 of 49
49.
Implementing Triggers and
Transactions Summary (Contd.) A trigger can be used to enforce business rules and data integrity The AFTER trigger is executed after all constraints and triggers defined on the table have successfully executed INSTEAD OF triggers can be used to perform another action such as a DML operation on another table or view ©NIIT SQL/Lesson 10/Slide 49 of 49
Baixar agora