valor una tabla restricciones restriccion por ejemplo defecto datos crear con como columna check agregar sql sql-server-2008-r2 default-value

sql - una - Establecer/Cambiar valor predeterminado para todas las tablas(mismo nombre/tipo de columna)



restriccion unique sql server (1)

Esto le mostrará todos los esquemas / tablas donde la restricción predeterminada para SOURCE no está configurada en ((0)) :

SELECT s.name AS schema_ , t.name AS table_ , OBJECT_DEFINITION(default_object_id) AS default_value FROM sys.columns c JOIN sys.tables t ON c.object_id = t.object_id JOIN sys.schemas s ON t.schema_id = s.schema_id JOIN sys.default_constraints d ON c.default_object_id = d.object_id WHERE t.name LIKE ''tblFAC%'' AND c.name = ''SOURCE'' AND OBJECT_DEFINITION(default_object_id) <> ''((0))''

Podría usar lo anterior para construir una declaración alter, creo que debería configurarla para que se ejecute en cada servidor, sin estar seguro si puede consultar tablas de sistema entre servidores.

Actualización, pregunta de bonificación: no hay tiempo para probar esto, pero para encontrar dónde no se establece ninguna restricción, solo debe poder cambiarla a una LEFT JOIN y comprobar si es NULL :

SELECT s.name AS schema_ , t.name AS table_ , OBJECT_DEFINITION(default_object_id) AS default_value FROM sys.columns c JOIN sys.tables t ON c.object_id = t.object_id JOIN sys.schemas s ON t.schema_id = s.schema_id LEFT JOIN sys.default_constraints d ON c.default_object_id = d.object_id WHERE t.name LIKE ''tblFAC%'' AND c.name = ''SOURCE'' AND OBJECT_DEFINITION(default_object_id) IS NULL

Tengo numerosas bases de datos, en diferentes servidores, que contienen varias docenas de tablas con una sola columna en común. NB: todas las bases de datos se ejecutan en SQL Server 2008 R2.

Necesito verificar (y cuando sea necesario cambiar) el valor en cada tabla llamada ''tblFAC%''. La columna se llama ''FUENTE'' y el valor debe ser ''((0))''

Estas son columnas generadas por el sistema, por lo que ambas son requeridas y (por lo general) uniformes.

Lo que he encontrado es que muy ocasionalmente, veré una entrada incorrecta extraña, normalmente {en blanco} o ''(0)'', y la única manera de corregir esto es abrir cada tabla en cada base de datos, usando la vista DISEÑO y luego seleccione el campo ''SOURCE'' y verifique el valor predeterminado, modificando según sea necesario.

Por lo tanto, me gustaría saber si hay algún tipo de script que compruebe el valor predeterminado del campo ''SOURCE'' para todas las tablas denominadas ''tblFAC%'' en una base de datos y configúrelos como ''((0))'' donde sea ya no es el caso.

Gracias por leer. Craig