it-swarm.com.de

Standard-Getdate für Einfügungsdatum

Ich habe eine Tabelle namens sample und eine Spalte namens [__INSERT_DATE], die null ist. Jetzt möchte ich die Spalte mit dem Standardwert getdate() ändern. Als ich folgendes probierte, gab es einen Fehler.

ALTER TABLE sample
ALTER COLUMN [__INSERT_DATE] [datetime] DEFAULT (getdate()) NULL)

Kann mir jemand sagen was das Problem ist?

17
user556674

Versuche dies:

ALTER TABLE MyTable ADD CONSTRAINT
DF_MyTable_Inserted DEFAULT GETDATE() FOR INSERT_DATE
GO

Dies setzt voraus, dass Ihre Tabelle MyTable heißt, die Spalte INSERT_DATE ist und der Name der Bedingung DF_MyTable_Inserted lautet.

26
p.campbell

Versuche dies:

ALTER TABLE sample ADD CONSTRAINT DF_sample___INSERT_DATE DEFAULT(GETDATE()) FOR __INSERT_DATE
3
J.Ray

ALTER TABLE sample ALTER COLUMN [__INSERT_DATE] [datetime] DEFAULT (getdate()) NULL)

Sie haben eine zu viele schließende Klammern in der obigen Anweisung. Es gibt 2 davon -> (aber 3 davon ->)

1
Andrew

MSDN gibt dieses Beispiel:

ALTER TABLE MyCustomers ALTER COLUMN CompanyName SET DEFAULT 'A. Datum Corporation'

Das würde dir geben

  ALTER TABLE sample ALTER COLUMN __INSERT_DATE SET DEFAULT GETDATE()
1
DOK

Gibt getdate () den korrekten Datums- und Uhrzeitdatentyp für Ihre deklarierte Spalte zurück? In SQL Server 2008 gibt es einige neue Datums- und Zeitdatentypen.

Hier ist ein Artikel, der einige Unterschiede erläutert.

http://www.sql-server-performance.com/articles/dev/datetime_2008_p1.aspx

0
Jennifer S

Ich konnte es mit SSManagement Studio machen

 Setting default in SSMS - Screen Shot

mache das Datumsfeld nicht nullfähig, dann setze aus den Eigenschaften Defalut Value oder Binding auf getdate ()

0
Arun Prasad E S

 enter image description here

(Your_Date_Column) Machen Sie Null/Nicht Null und geben Sie den Standardwert GetDate () an, aber es funktioniert nicht. Sie müssen einen Auslöser wie folgt erstellen.

CREATE TRIGGER [dbo]. [Trigger_Date] ON [dbo]. [TableName] FOR INSERT AS BEGIN

    Declare @Id int
    set @Id = (select Id from inserted)

    Update [dbo].[TableName]
    Set Your_Date_Column = GetDate()
    Where Id = @Id
END
0
Md Shahriar