Hallo,
ich habe eine neue Datendefinition angelegt und versuche im Dialog den neuen Datensatz automatisch mit dem aktuellen Datum zu bestücken. (analog Incident Erfassungszeit) Wie stelle ich das an?
Ich wollte in erweiterte Eigenschaftenzeichenfolge value=CURRENT_TIMESTAMP
oder vale=GETDATE() verwenden, aber beim Schliessen des Attributfeldes gehen diese Einträge verloren.
Habe gedacht es liegt an der Formatierung und habe das Datum/Zeit-Format in ein reines Datum-Format gebracht value=CONVERT (date, GETDATE()), aber auch das hat nix geholfen.
Datum automatisch setzen
Re: Datum automatisch setzen
Dein Ansatz hört sich interessant an...
Ich habe das mit SQL-Triggern gelöst, die direkt an der Tabelle hängen. Funktioniert soweit ^^
Ich habe das mit SQL-Triggern gelöst, die direkt an der Tabelle hängen. Funktioniert soweit ^^
André Krupka
Main-Kinzig-Kreis
ak@mkk.de
Main-Kinzig-Kreis
ak@mkk.de
Re: Datum automatisch setzen
Puh, ok, klingt für mich erstmal nicht nach der einfachsten Variante. Bin nicht der geborene SQL- Fachmann. Habe als erste Möglichleit versucht mit Standardwerten sowohl direkt an der Tabelle als auch bei der Datendefinition in Matrix zu jonglieren, erntete aber Fehlermeldungen bzw. keine Reaktion.
...Also, wenn es keine andere Möglichkeit als Trigger gibt, müssen Sie mir verraten, wie ich die Definiere.
...Also, wenn es keine andere Möglichkeit als Trigger gibt, müssen Sie mir verraten, wie ich die Definiere.
Re: Datum automatisch setzen
ok, habe mich selber mal an dem Trigger versucht.
---------------
USE [M42STORE]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[TR_DR_SV_Ud_SVAssetChangeType] on [M42STORE].[dbo].[Ud_SVAssetChangeClassBase]
AFTER INSERT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
UPDATE c
SET [Ud_CreatedDate] = GETDATE()
FROM dbo.[Ud_SVAssetChangeClassBase] c
INNER JOIN inserted i ON i.ID=c.ID
WHERE c.[Ud_CreatedDate] IS NULL
END--------------------
Passt das so, oder verursache ich mir da irgendwelche Inkonsistenzen? Schreiben tut er das Datum zumindest.
Das Setzen erfolgt allerdings erst nach Speichern des Datensatzes. Habe ich die Möglichkeit es schon während des Dialoges zu sehen?
---------------
USE [M42STORE]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[TR_DR_SV_Ud_SVAssetChangeType] on [M42STORE].[dbo].[Ud_SVAssetChangeClassBase]
AFTER INSERT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
UPDATE c
SET [Ud_CreatedDate] = GETDATE()
FROM dbo.[Ud_SVAssetChangeClassBase] c
INNER JOIN inserted i ON i.ID=c.ID
WHERE c.[Ud_CreatedDate] IS NULL
END--------------------
Passt das so, oder verursache ich mir da irgendwelche Inkonsistenzen? Schreiben tut er das Datum zumindest.
Das Setzen erfolgt allerdings erst nach Speichern des Datensatzes. Habe ich die Möglichkeit es schon während des Dialoges zu sehen?
Re: Datum automatisch setzen
Find ich okay 
Ist zwar ganz simpel gehalten mit dem "WHERE c.[Ud_CreatedDate] IS NULL", aber funktioniert so!
Ist zwar ganz simpel gehalten mit dem "WHERE c.[Ud_CreatedDate] IS NULL", aber funktioniert so!
André Krupka
Main-Kinzig-Kreis
ak@mkk.de
Main-Kinzig-Kreis
ak@mkk.de
Who is online
Users browsing this forum: No registered users and 13 guests