sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server En udløser til at arbejde på indsættelse af flere rækker

Du skal bare åbne en markør på INSERTED og gentage den for @PROC_NEWNUM1 og sætte resten af ​​koden i den løkke. f.eks.

 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. Uordnede resultater i SQL

  2. Spring's Stored Procedure - resultater, der kommer tilbage fra proceduren, er altid tomme

  3. Bruger du de rigtige værktøjer til overvågning af databaseydelse?

  4. Grundlæggende SQL-kommandoer:Sådan skriver du simple forespørgsler med eksempler