¿Hay alguna forma de establecer el valor predeterminado de una columna DateTime.Now
en Sql Server?
Ejemplo:
table Event
Id int (auto-increment) not null
Description nvarchar(50) not null
Date datetime not null
La línea:
Insert into Event(Description) values('teste');
debe insertar una fila y el valor de la fecha debe ser la fecha actual.
sql
sql-server
dcarneiro
fuente
fuente
Respuestas:
Agregue una restricción predeterminada con la función GETDATE () como valor.
ALTER TABLE myTable ADD CONSTRAINT CONSTRAINT_NAME DEFAULT GETDATE() FOR myColumn
fuente
CONSTRAINT
palabra clave. Debería ser... ADD CONSTRAINT MY_CONSTRAINT_NAME ...
GETDATE()
Nos da la hora UTC?CREATE TABLE Orders( O_Id int NOT NULL, OrderNo int NOT NULL, P_Id int, OrderDate date DEFAULT GETDATE() // you can set default constraints while creating the table )
fuente
[...]OrderDate DATE CONSTRAINT DF_Orders_date DEFAULT GETDATE()[...]
Puedes usar:
Insert into Event(Description,Date) values('teste', GETDATE());
Además, puede cambiar su tabla para que 'Fecha' tenga un valor predeterminado, "GETDATE ()"
fuente
Seleccione el nombre de la columna de la tabla donde desea obtener el valor predeterminado de la fecha actual
ALTER TABLE [dbo].[Table_Name] ADD CONSTRAINT [Constraint_Name] DEFAULT (getdate()) FOR [Column_Name]
Modificar consulta de tabla
Alter TABLE [dbo].[Table_Name]( [PDate] [datetime] Default GetDate())
fuente
También me he encontrado con esta necesidad para mi proyecto de base de datos. Decidí compartir mis hallazgos aquí.
1) No hay forma de un campo NOT NULL sin un valor predeterminado cuando los datos ya existen ( ¿Puedo agregar una columna no nula sin el valor DEFAULT? )
2) Este tema se ha abordado durante mucho tiempo. Aquí hay una pregunta de 2008 ( agregue una columna con un valor predeterminado a una tabla existente en SQL Server )
3) La restricción DEFAULT se utiliza para proporcionar un valor predeterminado para una columna. El valor predeterminado se agregará a todos los registros nuevos SI no se especifica ningún otro valor. ( https://www.w3schools.com/sql/sql_default.asp )
4) El Proyecto de base de datos de Visual Studio que utilizo para el desarrollo es realmente bueno para generar scripts de cambio para usted. Este es el script de cambio creado para mi promoción de base de datos:
GO PRINT N'Altering [dbo].[PROD_WHSE_ACTUAL]...'; GO ALTER TABLE [dbo].[PROD_WHSE_ACTUAL] ADD [DATE] DATE DEFAULT getdate() NOT NULL;
-
Estos son los pasos que tomé para actualizar mi base de datos usando Visual Studio para el desarrollo.
1) Agregar valor predeterminado (Visual Studio SSDT: DB Project: diseñador de tablas)
2) Utilice la herramienta de comparación de esquemas para generar el script de cambio.
3) Vea los datos ANTES de aplicar el cambio.
4) Vea los datos DESPUÉS de aplicar el cambio.
fuente
Para utilizar la fecha actual como predeterminada para una columna de fecha, deberá:
1- diseñador de mesas abiertas
2- selecciona la columna
3- ir a propiedades de la columna
4- establecer el valor del valor predeterminado o la propiedad vinculante a ( getdate () )
fuente
La sintaxis de creación de tablas puede ser como:
Create table api_key(api_key_id INT NOT NULL IDENTITY(1,1) PRIMARY KEY, date_added date DEFAULT GetDate());
La sintaxis de la consulta de inserción puede ser como:
Insert into api_key values(GETDATE());
fuente
Haga clic derecho en la tabla y haga clic en Diseño, luego haga clic en la columna que desea establecer el valor predeterminado.
Luego, en la parte inferior de la página en las propiedades de la columna, establezca el valor predeterminado o enlace a: 'getdate ()'
fuente