Lo que estoy intentando hacer es basarme en un valor de parámetro para insertar registros en diferentes tablas.
Dado un valor de parámetro @PeriodType (nvarchar(15)) que puede ser ‘Mensual’ o ‘Diario’ (y potencialmente otros períodos en el futuro).
Quiero poder hacer lo siguiente:
*******************
IF @PeriodType = ‘Monthly’
BEGIN
INSERT INTO Monthly_Summary_Data (Column_1, Column_2, etc.)
END
IF @PeriodType = ‘Daily’
BEGIN
INSERT INTO Daily_Summary_Data (Column_1, Column_2, etc.)
END
SELECT (Value_1, Value_2, etc.)
FROM SourceTable
*******************
Desgraciadamente creo que me está dando un error («Sintaxis incorrecta cerca de la palabra clave ‘END'») porque el INSERT y el SELECT no se pueden separar (es decir, uno de ellos dentro de un IF y el otro no) pero si alguien sabe cómo hacerlo le agradecería mucho la ayuda. No quiero tener que duplicar el código en la sentencia SELECT para cada uno de los tipos de período ya que esto sería un dolor de mantener.
Supongo que podría crear una función valorada en la tabla para devolver los resultados de la sentencia Select pero preferiría tener todo el código dentro de este único procedimiento almacenado si es posible.