Digamos que se crea una tabla de base de datos para un sistema de registro.
IF OBJECT_ID('dbo.registration_demo', 'U') IS NOT NULL
DROP TABLE dbo.registration_demo;
CREATE TABLE dbo.registration_demo (
id INT IDENTITY PRIMARY KEY,
name NVARCHAR(8)
);
Ahora un par de personas se registran.
INSERT INTO dbo.registration_demo (name) VALUES
('John'),('Jane'),('Jeff');
Entonces se da cuenta de que necesita una marca de tiempo para cuando se registraron.
Si esta aplicación está limitada a una región geográficamente localizada, entonces puede utilice la hora del servidor local con GETDATE()
. De lo contrario, debe prestar atención al Tanner's consideration para la audiencia global con GETUTCDATE()
para el valor predeterminado.
Agregue la columna con un valor predeterminado en una declaración como this answer.
ALTER TABLE dbo.registration_demo
ADD time_registered DATETIME DEFAULT GETUTCDATE();
Busquemos otro registrante y veamos cómo son los datos.
INSERT INTO dbo.registration_demo (name) VALUES
('Julia');
SELECT * FROM dbo.registration_demo;
id name time_registered
1 John NULL
2 Jane NULL
3 Jeff NULL
4 Julia 2016-06-21 14:32:57.767
@TheQ - Gracias. Entiendo que cambie "YourTable" por el nombre de mi tabla, pero la parte que no entiendo es la Restricción. ¿Qué es una restricción y voy a modificar tu código para que coincida con el nombre de mi tabla? – stephmoreland
@steph - ¿La respuesta de 'TheQ' supone que está alterando una columna existente que no creo que sea el caso? Vea mi respuesta para el código para agregar una nueva columna con esta restricción predeterminada. –
Para que una columna tenga un valor predeterminado, necesita una "restricción predeterminada", y este comando agregará eso. Puede asignarle el nombre que desee a la restricción, Management Studio generalmente los denomina DF_TableName. – TheQ