Con la ayuda de otros en SO, esta mañana he desbaratado un par de Tablas y Procedimientos almacenados, ya que estoy lejos de ser un programador de DB.¿Este procedimiento almacenado es seguro para subprocesos? (o lo que sea que el equivalente esté en SQL Server)
¿Alguien le importaría echar un vistazo a esto y decirme si es seguro para subprocesos? Supongo que probablemente no sea el término que usan los desarrolladores de bases de datos/bases de datos, pero espero que entiendas la idea: básicamente, ¿qué sucede si esta sp se está ejecutando y otra aparece al mismo tiempo? ¿Podría uno interferir con el otro? ¿Esto es incluso un problema en SQL/SP?
CREATE PROCEDURE [dbo].[usp_NewTicketNumber]
@ticketNumber int OUTPUT
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO [TEST_Db42].[dbo].[TicketNumber]
([CreatedDateTime], [CreatedBy])
VALUES
(GETDATE(), SUSER_SNAME())
SELECT @ticketNumber = IDENT_CURRENT('[dbo].[TicketNumber]');
RETURN 0;
END
Estoy totalmente de acuerdo con la respuesta de gbn, pero me gustaría agregar que usted mismo puede resolver esto fácilmente: puede ejecutar su procedimiento almacenado al mismo tiempo desde dos o más conexiones en un ciclo veces (> 1 mln) y ver para tú mismo. –