sql >> Databáze >  >> RDS >> Sqlserver

SQL Server Aktivační událost pro práci s vkládáním více řádků

Stačí otevřít kurzor na INSERTED a iterovat jej pro @PROC_NEWNUM1 a vložit zbytek kódu do této smyčky. např.

 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. Vyberte N-tý řádek z tabulky v Oracle

  2. Systém správy velkých databází:Návrh a architekt

  3. Jaký je rozdíl mezi MyISAM a InnoDB?

  4. Najděte řádky s více duplicitními poli pomocí Active Record, Rails &Postgres