Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL Server Một trình kích hoạt để hoạt động trên nhiều lần chèn hàng

Bạn chỉ cần mở một con trỏ trên INSERTED và lặp lại nó cho @ PROC_NEWNUM1 và đặt phần mã còn lại của bạn vào vòng lặp đó. ví dụ:

 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. EXP () Ví dụ trong SQL Server

  2. Chế độ xem trong SQL Server

  3. Ví dụ trong cuộc sống thực, khi nào sử dụng ÁP DỤNG NGOÀI / CHÉO trong SQL

  4. PHP, ORM, MSSQL và Unicode, có thể làm cho chúng hoạt động cùng nhau không?

  5. Sự kiện chờ SQL Server -3