CON VALORES TSQL


He estado tratando de entender lo que hace la declaración WITH VALUES?

Parece que no puedo encontrar ninguna documentación que lo explique correctamente.

ALTER TABLE Table1 
ADD newGuidId UniqueIdentifier NULL CONSTRAINT DF_Guid Default newid()
with values
Author: TheWanderingMind, 2013-09-08

3 answers

WITH VALUES aplica valores predeterminados a los campos null

Http://technet.microsoft.com/en-us/library/ms187742.aspx y una breve entrada de blog sobre esto.

 25
Author: zedfoxus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-08 06:17:07

Cuando agrega una columna nullable con una restricción predeterminada a una tabla, entonces todas las filas existentes obtendrán la nueva columna con un NULL como su valor. Los valores predeterminados definidos solo se aplicarán a nuevas filas que se inserten (si no tienen un valor para esa columna en su instrucción INSERT).

Cuando especifique WITH VALUES, todas las filas existentes obtendrán el valor predeterminado definido en lugar de NULL

Si la columna que está agregando a su nueva tabla es no es nullable y tiene una restricción predeterminada, entonces ese valor predeterminado se aplica automáticamente a todas las filas existentes en la tabla (no es necesario WITH VALUES porque la columna debe tener un valor distinto de NULL)

 37
Author: marc_s,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-08 07:07:24

WITH VALUES - Especifica que el valor dado en LA expresión constante PREDETERMINADA se almacena en una nueva columna añadida a las filas existentes. Si la columna agregada permite valores nulos y se especifica CON VALORES, el valor predeterminado se almacena en la nueva columna, que se agrega a las filas existentes. Si no se especifica WITH VALUES para columnas que permiten null, el valor NULL se almacena en la nueva columna en las filas existentes. Si la nueva columna no permite valores nulos, el valor predeterminado se almacena en filas nuevas independientemente de si CON VALORES se especifica.

 0
Author: ChithaMurali,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-11 03:27:58