sql >> Database >  >> RDS >> Sqlserver

SQL Server Een trigger om aan meerdere rij-invoegingen te werken

Je hoeft alleen maar een cursor op INSERTED te openen en deze te herhalen voor @PROC_NEWNUM1 en je rest van de code in die lus te plaatsen. bijv.

 DECLARE @PROC_NEWNUM1 VARCHAR (10)
 DECLARE @NEWNUM2 numeric(20)
 DECLARE my_Cursor CURSOR FOR SELECT num1 FROM INSERTED; 
 OPEN my_Cursor; 

 FETCH NEXT FROM @PROC_NEWNUM1; 


 WHILE @@FETCH_STATUS = 0 
 BEGIN FETCH NEXT FROM my_Cursor 
 select @NEWNUM2 = MAX(num2) from TEST
 if @NEWNUM2 is null
 Begin
  set  @NEWNUM2  = 0
 end
 set @NEWNUM2 = @NEWNUM2 + 1
 UPDATE TEST SET num2 = @NEWNUM2 WHERE num1 = @PROC_NEWNUM1

 END; 

CLOSE my_Cursor; DEALLOCATE my_Cursor;


  1. Ontvang de huidige lokale tijd van elk land in PL/SQL

  2. Hoe u uw MySQL-instanties kunt laten mislukken of crashen voor testen

  3. Oracle UNION-operator uitgelegd

  4. hoe xmltable te gebruiken in orakel?