Saltar al contenido

¿Cómo puedo modificar esta columna calculada en SQL Server 2008?

Solución:

Algo como esto:

ALTER TABLE dbo.MyTable
DROP COLUMN OldComputedColumn

ALTER TABLE dbo.MyTable
ADD OldComputedColumn AS OtherColumn + 10

Fuente

Si está intentando cambiar una columna existente, no puede usar ADD. En su lugar, intente esto:

alter table tbPedidos alter column restricoes as (cast (case when restricaoLicenca = 1 or restricaoLote = 1 or restricaoValor = 1 then 1 else 0 end as bit))

EDITAR: Lo anterior es incorrecto. Al alterar un calculado columna lo único que tu pueden hacer es soltarlo y volver a agregarlo.

Esta es una de esas situaciones en las que puede ser más fácil y rápido usar la función de diagrama de SQL Server Management Studio.

  1. Cree un nuevo diagrama, agregue su tabla y elija mostrar la columna de fórmula en la vista de tabla del diagrama.
  2. Cambiar la fórmula de las columnas a una cadena vacía ('') o algo igualmente inocuo (probablemente tal que no cambie el tipo de datos de la columna).
  3. Guarde el diagrama (que debería guardar la tabla).
  4. Altere su función.
  5. Vuelva a colocar la función en la fórmula de esa columna.
  6. Guardar una vez más.

Si lo hace de esta manera en SSMS, se conservará el orden de las columnas en su tabla, que un simple drop...add no garantizará. Esto puede ser importante para algunos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *