sql >> データベース >  >> RDS >> Sqlserver

SQLServer複数の行の挿入を処理するためのトリガー

    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. クラスタ化された列ストアインデックスからの削除のシリアル化

    2. MySQLで文字列のビット数を取得する方法– BIT_LENGTH()

    3. 「PostgreSQL9.0HighPerformance」の本が出ました

    4. 並列実行計画–ブランチとスレッド