Einzelnen Beitrag anzeigen

Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Update Trigger mit > 1 Datensätze

  Alt 12. Feb 2007, 14:17
Könnte in etwa so aussehen. Ist jetzt einfach nur ein kopierter Trigger, aber es sollte das Arbeiten mit Cursor recht gut erläutern.


SQL-Code:
CREATE TRIGGER trManualID ON [dbo].[Property]
FOR INSERT
AS
declare @ManualID int
declare @Conflicting int
declare @ID int

declare CR cursor for
select ID from Inserted

    open CR
    fetch next from CR into @ID

    while @@fetch_status = 0 BEGIN
        set @ManualID = (select ManualID from Inserted where ID = @ID)

        if not(@ManualID is null) BEGIN
             set @Conflicting = (select count(p.ID) as N from Inserted i left join Property p on p.ManualID=i.ManualID and p.ID <> @ID and p.ManualID = @ManualID)
             if @Conflicting > 0 begin
                update Property set ManualID = null where ID = @ID
             end
      end
      fetch next from CR into @ID
   end

    close CR
    deallocate CR
  Mit Zitat antworten Zitat