Nazwa klienta nie jest zapisywana w sekcji Konserwacja klienta (08.260.00)
Ten artykuł zawiera rozwiązanie problemu polegającego na tym, że nazwa klienta nie została zapisana w sekcji Konserwacja klienta.
Dotyczy: Microsoft Dynamics SL 2011, Microsoft Dynamics SL 2011 Service Pack 1
Oryginalny numer KB: 3047916
Przyczyna
W wyzwalaczu brakuje ustawionego konta w instrukcji . Spowoduje to zatrzymanie komunikatu pokazującego liczbę wierszy, których dotyczy instrukcja języka Transact-SQL lub procedura składowana, przed zwróceniem w ramach zestawu wyników.
Rozwiązanie
Uruchom następującą instrukcję SQL w SQL Server Management Studio w bazie danych aplikacji.
alter TRIGGER ADG_TR_CustNameXref_Add ON dbo.Customer
FOR INSERT,UPDATE
AS
set nocount on
DECLARE @CustID varchar(15)
DECLARE @Name varchar(30)
DECLARE @RowsAffected int
SELECT @RowsAffected = @@ROWCOUNT
IF @RowsAffected = 1
BEGIN
IF UPDATE(Name)
BEGIN
SELECT @CustID = CustID, @Name = Name from DELETED
EXECUTE ADG_CustNameXref_Delete @CustID, @Name
SELECT @CustID = CustID, @Name = Name from INSERTED
EXECUTE ADG_CustNameXref_Add @CustID, @Name
END
END
IF @RowsAffected > 1
BEGIN
IF UPDATE(Name)
BEGIN
DECLARE DelCursor SCROLL CURSOR FOR SELECT CustID, Name FROM DELETED
OPEN DelCursor
FETCH FIRST FROM DelCursor INTO @CustID, @Name
WHILE (@@FETCH_STATUS = 0)
BEGIN
EXECUTE ADG_CustNameXref_Delete @CustID, @Name
FETCH NEXT FROM DelCursor INTO @CustID, @Name
END
CLOSE DelCursor
DEALLOCATE DelCursor
DECLARE InsCursor SCROLL CURSOR FOR SELECT CustID, Name FROM INSERTED
OPEN InsCursor
FETCH FIRST FROM InsCursor INTO @CustID, @Name
WHILE (@@FETCH_STATUS = 0)
BEGIN
EXECUTE ADG_CustNameXref_Add @CustID, @Name
FETCH NEXT FROM InsCursor INTO @CustID, @Name
END
CLOSE InsCursor
DEALLOCATE InsCursor
END
END