StevePMedlem sedan mars 2003751 inlägg
Denna triggern använder jag i en Oracle db.
create trigger kundtrigger
on kunder before delete
referencing old as oldRow
as
begin
delete from telnr where kundid = : oldRow.id;
end kundtrigger;
Kan jag köra before delete i mssql? Får inte riktigt till den.
När jag deleterar nåt från tblMAIN så vill jag att alla poster i tblSUB som är relaterade till tblMAIN ska tas bort.
Relationen görs genom ett värde som finns i tblMAIN.MainCat och detta värde ligger i tblSUB.SubCat
StevePMedlem sedan mars 2003751 inlägg
Nuså!
CREATE TRIGGER TR_DollsPics ON tblMAIN FOR DELETE
AS
BEGIN
SET NOCOUNT ON
DELETE FROM tblSUB WHERE tblSUB.SubCat in(SELECT MainCat FROM deleted)
END
StevePMedlem sedan mars 2003751 inlägg
Kan nån förklara vad SET NOCOUNT ON gör?
@ndersMedlem sedan juni 200026 914 inlägg
SET NOCOUNT ON stänger av rowcount för varje fråga som exekveras. Det kanske skulle vara mer logiskt om man skrev SET COUNT OFF eller så. :)
Nu vet jag inte vad det skulle spela för roll i en trigger, och i det här fallet känns den onödig, eftersom du bara exekverar ett SQL-statement i din trigger.
Men vad vet jag! :)
StevePMedlem sedan mars 2003751 inlägg
Ok så man kan använda det till att se hur många Rows som blev affected av triggern? och isf hur får man ut denna rowcount om man har NOCOUNT OFF?
E det som i SP's?
typ SELECT @total_rows = @@ROWCOUNT
LarsGMedlem sedan dec. 200012 465 inlägg
Set NOCOUNT OFF påverkar inte @@rowcount. Det innebär bara att SQL server inte skickar information om antalet poster som påverkats till klienten.
StevePMedlem sedan mars 2003751 inlägg
Jaha såpas. E det nån performance förbättring att ha NOCOUNT ON om man har flera statements som inte returnerar nån större data? Syftar i synnerhet på SP's