Come posso verificare se la mia stored procedure TSQL è stata aggiornata all'interno della stored procedure per creare un messaggio corretto?Come conoscere Aggiornamento stored procedure TSQL eseguito
Esempio:
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
Quali sono alcuni possibili modi per controllare in caso di successo senza utilizzare nuovamente i parametri?
Questo è quello che ho attualmente in uso:
SELECT COUNT(*)
WHERE status = @status AND id = @id
ci sono altri modi? Voglio sapere per la mia conoscenza e riferimento. Grazie.
+1, ma si potrebbe anche usare 'IF EXISTS (SELECT 1 FROM WHERE database.dbo.user Id = @id e STATUS = @status)', che è il modo migliore di 'COUNT (*) 'un altro metodo sarebbe essere la clausola 'OUTPUT' per acquisire i dati in una variabile di tabella @temp. –
@roryap Sì, o se @@ ROWCOUNT <> [x] (con x è il numero di valori che si desidera aggiornare), è possibile generare un errore o eseguire il rollback della transazione, dandoti la possibilità di specificare esattamente quanti righe che vuoi aggiornare, se più di una. – Question3CPO