Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server Тригер за работа върху множество вмъквания на ред

Просто трябва да отворите курсора на INSERTED и да го повторите за @PROC_NEWNUM1 и да поставите останалата част от кода в този цикъл. напр.

 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да експортирате данни като CSV формат от SQL Server с помощта на sqlcmd?

  2. преобразуването на тип данни varchar в тип данни за дата и час води до стойност извън диапазона

  3. CONVERT() от дата/час към примери за низове в SQL Server

  4. Какви са ограниченията на SQL Server Compact? (Или - как се избира база данни, която да се използва на MS платформи?)

  5. Избор на първи ред за група