procedemientos Almacenados
Publicado por Ana Castillo (2 intervenciones) el 08/12/2011 20:00:01
Hola nesecito crear un procedimiento almacenado para actualizar un registro si lla existe o crear uno nuevo si no tengo este pero me da errores
CREATE PROCEDURE Insertar_Actualizar
(
@EmployeeID [int],
@Title [nvarchar](50),
@HireDate [datetime],
@RateChangeDate [datetime],
@Rate [money],
@PayFrequency [tinyint],
@CurrentFlag [dbo].[Flag]
)
AS
BEGIN
IF EXISTS (EmployeeID)
UPDATE [HumanResources].[Employee]
SET [Title] = @Title
,[HireDate] = @HireDate
,[CurrentFlag] = @CurrentFlag
WHERE [EmployeeID] = @EmployeeID;
END
ELSE
BEGIN
INSERT INTO [HumanResources].[EmployeePayHistory]
([EmployeeID]
,[RateChangeDate]
,[Rate]
,[PayFrequency])
VALUES (@EmployeeID, @RateChangeDate, @Rate, @PayFrequency);
END
END
Agradesco su ayuda
estos son los errores
Mens 102, Nivel 15, Estado 1, Procedimiento Insertar_Actualizar, Línea 15
Sintaxis incorrecta cerca de 'EmployeeID'.
Mens 156, Nivel 15, Estado 1, Procedimiento Insertar_Actualizar, Línea 23
Sintaxis incorrecta cerca de la palabra clave 'ELSE'.
Mens 102, Nivel 15, Estado 1, Procedimiento Insertar_Actualizar, Línea 32
Sintaxis incorrecta cerca de 'END'.
CREATE PROCEDURE Insertar_Actualizar
(
@EmployeeID [int],
@Title [nvarchar](50),
@HireDate [datetime],
@RateChangeDate [datetime],
@Rate [money],
@PayFrequency [tinyint],
@CurrentFlag [dbo].[Flag]
)
AS
BEGIN
IF EXISTS (EmployeeID)
UPDATE [HumanResources].[Employee]
SET [Title] = @Title
,[HireDate] = @HireDate
,[CurrentFlag] = @CurrentFlag
WHERE [EmployeeID] = @EmployeeID;
END
ELSE
BEGIN
INSERT INTO [HumanResources].[EmployeePayHistory]
([EmployeeID]
,[RateChangeDate]
,[Rate]
,[PayFrequency])
VALUES (@EmployeeID, @RateChangeDate, @Rate, @PayFrequency);
END
END
Agradesco su ayuda
estos son los errores
Mens 102, Nivel 15, Estado 1, Procedimiento Insertar_Actualizar, Línea 15
Sintaxis incorrecta cerca de 'EmployeeID'.
Mens 156, Nivel 15, Estado 1, Procedimiento Insertar_Actualizar, Línea 23
Sintaxis incorrecta cerca de la palabra clave 'ELSE'.
Mens 102, Nivel 15, Estado 1, Procedimiento Insertar_Actualizar, Línea 32
Sintaxis incorrecta cerca de 'END'.
Valora esta pregunta
0