Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wyzwalacz wypalania do wstawiania zbiorczego

możesz użyć kursora w następujący sposób:

create trigger trg_insertstuff
on [O_SALESMAN]
after insert
as

  DECLARE @SLSMAN_CD NVARCHAR(20)
    DECLARE @SLSMAN_NAME NVARCHAR(20)


 declare db_cursor CURSOR FOR  
SELECT SLSMAN_CD, SLSMAN_NAME
from inserted

OPEN db_cursor  
FETCH NEXT FROM db_cursor INTO @SLSMAN_CD , @SLSMAN_NAME 

WHILE @@FETCH_STATUS = 0  
BEGIN  

IF NOT EXISTS(SELECT * FROM O_SALESMAN_USER WHERE SLSMAN_CD = @SLSMAN_CD)
    BEGIN
        INSERT INTO O_SALESMAN_USER(SLSMAN_CD, PASSWORD, USER_CD)
        VALUES(@SLSMAN_CD, @SLSMAN_CD,@SLSMAN_NAME )
    END


FETCH NEXT FROM db_cursor INTO  @SLSMAN_CD , @SLSMAN_NAME 
end

CLOSE db_cursor  
DEALLOCATE db_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. Jak mogę sklonować bazę danych SQL Server na tym samym serwerze w SQL Server 2008 Express?

  2. Kiedy powinienem używać zmiennej tabeli a tabeli tymczasowej w serwerze sql?

  3. Jak wyeksportować dane utf-8 z serwera sql 2008 do programu Excel?

  4. Entity Framework — rozmiar wiersza większy niż dopuszczalny maksymalny rozmiar wiersza 8060

  5. Kopia zapasowa na poziomie tabeli