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

Spouštěcí spoušť pro hromadnou vložku

můžete použít kurzor následovně:

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. Jak vybrat nepoužívané kódy v této ukázce

  2. Automatické zvýšení po smazání v MySQL

  3. jak vybrat všechny záznamy obsahující určité hodnoty z pole postgres json obsahujícího pole

  4. Jak indexovat sloupec pole řetězců pro dotaz pg_trgm `'term' % ANY (array_column)`?