Bueno, acabas de pasar veinte / treinta minutos hasta darse cuenta de que cuando se cambia la definición de una tabla temporal que se utiliza en un procedimientoalmacenado de SQL Server, es necesario eliminar de hecho la tabla temporal antes de que usted puede volver a compilar el procedimiento. Por lo tanto, algo así como:
Entonces lo cambia a:
A continuación, la definición de tabla no se actualiza cuando se cambia en el código sin perder las definiciones almacenadas. Usted puede destacar la declaración Drop Table y de ejecución que por sí mismo, y entonces va a recompilar el código.
Simple, pero fácil de equivocarse.
IF OBJECT_ID(N'tempdb..#tableName', N'U') IS NOT NULL DROP TABLE #tableName;
CREATE TABLE #tableName(
Key1 INT
, Description NVARCHAR(255)
)
/* do stuff with table */
Entonces lo cambia a:
IF OBJECT_ID(N'tempdb..#tableName', N'U') IS NOT NULL DROP TABLE #tableName;
CREATE TABLE #tableName(
Key1 INT
, Key2 INT
, Description NVARCHAR(255)
, AggAmount FLOAT
)
/* do stuff with table referencing agg amount column*/
A continuación, la definición de tabla no se actualiza cuando se cambia en el código sin perder las definiciones almacenadas. Usted puede destacar la declaración Drop Table y de ejecución que por sí mismo, y entonces va a recompilar el código.
Simple, pero fácil de equivocarse.
No hay comentarios:
Publicar un comentario