Jak mogę sprawdzić, czy moja procedura składowana TSQL zaktualizowana w ramach procedury przechowywanej w celu utworzenia prawidłowego komunikatu?Jak poznać aktualizację procedury przechowywanej TSQL Wykonano
Przykład:
ALTER PROCEDURE [dbo].[pUpdate]
@id uniqueidentifier,
@status int,
@message VARCHAR(100) OUTPUT
AS
BEGIN
SET NOCOUNT ON;
UPDATE [database].[dbo].[user]
SET status = @status
WHERE Id = @id
END
IF (SUCCESSFUL)
BEGIN
@message = 'Success!'
END
Jakie są sposoby, aby sprawdzić, czy sukces bez ponownie stosując parametry?
To, co obecnie używać:
SELECT COUNT(*)
WHERE status = @status AND id = @id
Czy są jakieś inne sposoby? Chcę wiedzieć za moją wiedzę i referencje. Dzięki.
+1, ale można też użyć 'IF EXISTS (SELECT 1 Z database.dbo.user gdzie id = @id i status = @status)', która jest lepiej niż 'count (*) "inna metoda byłaby być klauzulą "WYJŚCIA" do przechwytywania danych do zmiennej tabeli @temp. –
@roryap Tak, lub jeśli @@ ROWCOUNT <> [x] (gdzie x oznacza liczbę wartości, które chcesz zaktualizować), możesz rzucić błąd lub wycofać transakcję, dając ci możliwość dokładnego określenia liczby wiersze, które chcesz zaktualizować, jeśli są więcej niż jeden. – Question3CPO