Welcome to Appsloveworld Technologies. In this session we will learn that I strongly recommend you to list this series below, instead of updating the triggers before continuing the session.
- DML triggers with examples
- After updating the trigger in the sql server with an example
- Instead of triggers on an sql server with an example
The SQL server has three types of DML, DDL and connection triggers. DML triggers that are automatically triggered in response to DML events include insertion of updates and deletion.
DML triggers can be divided into two types, depending on the triggers and instead of triggers.
After releasing the trigger, shoot while pulling the trigger instead.
We have now talked about the fact that in this session we will learn that instead of inserting a trigger in the previous post, we will insert an update trigger.
Let’s take this as an example. Here we have two tables – the TblSpecialisation table and the TblDocs table.
Instead of the update trigger in example
Now look at the next view, this view is based on these two tables. So if you look at this view, the columns ID, Doctor name and Gender come from the table TblDoctors and the column Specialization from the table TblSpecialization.
Create an image of [dbo] [vWDoctorsInformation]
as
Select TblDoctors.Id,DoctorName,Gender,Specialization
of TblDoctors
add to TblSpecialization
on TblDoctors.SpecializationId = TblSpecialization.Id.
We’ve heard the opinions and we agree with the previous position. Check these messages if you are new and want to join us.
It is therefore obvious that the vWDoctorsInformation view is based on different basic tables.
In the previous session we saw that if a view is based on multiple tables and you try to insert a row in the view, you can’t do that.
It causes an error that says that the view is not updated because the change affects different basic tables. we have overcome this problem by creating a trigger instead of inserting it.
Now let’s try updating this view. Instead of inserting a row in this view, we should try to update this view so that the update affects multiple tables.
If you look at the update operator we have here, we update the view and change the column with the name of the physician and the column with the specialization.
It is therefore clear that DoctorName comes from the TblDoctors and Specialization Tables of the Tbl. Therefore, the update operator now assigns different basic tables.
vWDoctorsInformation Update
, Doctor name = Henry New, Specialty = Cardiology (Cardiac Care)
with Id = 8
We change the column with the name of the doctor and the column with the specialization, where the ID is 8.
Therefore, for Protocol 8 we change the DoctorName of Henry to Henry New and the domain name
from Cardiology (heart medicine) to Oncology (cancer medicine).
This updated operator therefore affects the two basic tables, TblDoctors and TblSpecialization. So we have to make a mistake.
The view of function vWDoctorsInformation is not updated because the change affects different basic tables.
To fix this problem, we can now make an update instead of a trigger, because it is an update instruction. So in this form we can make an update instead of a trigger.
But first let’s look at another example.
So we have exactly the same two tables, TblDoctors and TblSpecialization, and the same view. The only difference here is the update statement.
So, if you look at the update operator here, we update the view and change only one column – the specialization column.
Update of vWDoctorsInformation
with specialization = ‘Oncology (Oncotherapy)’
with Id = 8
And we know that the Section Specialization comes from Tbl Specialization. This update-operator concerns only one base, it does not concern multiple base tables.
It should succeed, but when you actually execute this statement, the name of the specialisation in the TblSpecialisation table will be updated.
You are therefore asking to change your specialisation to oncology (treatment of cancer), where ID 8 is
. But before you publish the report, take a look at the notes of Brandon and Dr. Jacob, who also belong to cardiology (heart medicine).
What are our intentions now that we have issued an updated statement?
Our intention is to move Henry’s specialization from cardiology (heart medicine) to cancer (cancer medicine).
So, when you update a view with multiple tables, two things can happen.
If the update operator assigns more than one basic table, an error is triggered and the operator is terminated.
But if your update works, I mean if you only update one table, it can work fine, like if you only update the name and gender.
But if you update the name of the specialization, it can be done badly, the update can be done badly. And to overcome this, we can use updates instead of triggers.
As you can see, Brandon & Dr.’s data will be available when you issue the above update statement. Jacob will also be updated.
Let’s see how we can create and correct the situation instead of updating the triggers.
Create the trigger tr_vWDoctorsInformation_InsteadOfUpdateauf vWDoctorsInformationInstead or update as start-when TblDoctor has updated as (Update(Id))Start-increase error (‘Id cannot be changed’, 16, 1)ReturnEnd
— When medical specialization is updated to
if (Update (Specialization))
Start
@SpecializationId int.
Select @SpecializationId = TblSpecialization.Id
from TblSpecialization
and attach insert
to the insert.Specialization = TblSpecialization.Specialization.
if (@SpecialisationId is NULL )
Start
Error increase (Invalid specialisation name, 16, 1)
Return
End
Update of the TblDoctors SpecializationId record = @SpecializationId
of the inserted connection
TblDoctors
to TblDoctors.Id = inserted.Id
Termination
— When doctor gender is updated to
as (Update (gender))
start
update TblDoctors set gender = insert.gender
of insert
join TblDoctors
on TblDoctors.Id = insert.id
end
— When the doctor name is updated to
as (Update (DoctorName))
Start
Update TblDoctors doctor name
from inserted
TblDoctors
connect to TblDoctors.Id = inserted.id
end
end.
If you now issue an update statement, the data will be updated correctly.
Update vWDoctorsInformation
and define specialization = Oncology (treatment of cancer)
, with Id = 8
select * in [vWDoctorsInformation].
The above explanation instead of the update triggers amendment.
It’s just a small piece of copy code, if you understand a section, very similar.
So we know that the triggers use two special tables called insert and remove. And we talked about her in the last three characters.
The inserted table contains the new data you inserted, while the deleted table contains the ROWS you deleted.
However, when you update a view or .insert table, if the table contains the new updated data, the deleted table contains the old data before the update.
So we’ll use these tables. Of course, if someone makes an updated statement. Then we inserted and deleted the table with the old and new values.
we create a trigger, we create a trigger_name in the vWDoctorsInformation view, instead of an update The trigger is thus triggered instead of the update declaration itself.
The update(Id) function returns false, and we don’t get to the bottom block. But if you’ve checked it, I mean if you look at the update condition (specialization), it’s a check of the update of the specialization.
In general, you can use the update function to determine whether the user is actually updating this column.
So, if you look at the view, Id is DoctorName, gender and column specialization. So we need to check that each column has been adjusted.
And for this you can use the update() function. The update() function checks whether the column has been changed by the update operator.
So you have to check if the Id column is updated when the TblDoctors ID column is updated, then we want to launch a bug because you can’t change the primary key.
we use the Raiserror() function. If you want to make a user error, you can use the Raiserror() function. We therefore insert an error message that says that the gravity level and condition cannot be changed.
We then check whether the specialisation has changed. So, if the specialisation has changed, we generally plan to update the SpecialisationId column instead of changing the column with the name of the specialisation in the TblSpecialisation table.
For this you must of course obtain the Specialisation ID linked to this specialisation name. And to do this, you can add the name of the newly entered specialization in the specialization table of the Tbl where the newly updated department name will be available.
It will be present in the inserted table. You must therefore link the inserted table to the TblSpecialization table and then remove the SpecializationId column from the TblSpecialization table.
That’s what we do. We have a variable @SpecializationId that stores TblSpecializationId.
If Specialization ID is zero, it means that the user has entered a waste value.
Of course, if I pick up trash, there’s no such thing as a specialty. So I’m not getting any specialty back.
So @SpecializationId will be NULL, we want to run a bug that says the wrong specialization name and then go back. They don’t want to treat anymore.
Related Tags:
best gaming desk 2020 uk,arozzi arena gaming desk,cougar mars gaming desk,best gaming desk reddit,eureka ergonomic i1,respawn 2000 gaming l-desk,are gaming desks worth it,respawn gaming desk,eureka ergonomic z1-s,l-shaped gaming desk,gaming computer desk for multiple monitors,What is the average cost of a good gaming desk?Gaming desks have different prices, considering the specifications and features it offers. However, you can get an exceptionally good gaming desk within the $500 bracket.Is a gaming desk necessary?Although not crucial, but these are well worth the investment. They add more to the comfort level and help you maintain a good posture. Also, these help keep everything neat and organized, helping you be more productive.What material is best for a computer gaming desk?Despite being available in different materials, the most elegant and user-friendly is wood. These desks are easy to clean and last longer as compared to others.,Gaming desks have different prices, considering the specifications and features it offers. However, you can get an exceptionally good gaming desk within the $500 bracket.,Although not crucial, but these are well worth the investment. They add more to the comfort level and help you maintain a good posture. Also, these help keep everything neat and organized, helping you be more productive.,Despite being available in different materials, the most elegant and user-friendly is wood. These desks are easy to clean and last longer as compared to others.,greenforest l-shaped corner desk,eureka ergonomic z1-s.,waleaf vitesse gaming desk,ameriwood home dakota l-shaped desk,lian li dk-04f,best l-shaped gaming desk,xxl gaming desk,typhoon gaming desk review,best gaming desk height,best desk for console gaming,apexdesk elite series best gaming desk,best gaming desk under 1000,dlandhome gaming desk,best board gaming tables,best budget computer desks,respawn rsp-2010,best l shaped gaming desk reddit,ameriwood home dakota,eureka gaming desk amazon,black gaming table,gaming desk,best gaming desk 2020,cheap gaming desk,best gaming desks,best computer desk