gs3rr4
Aktiver Benutzer
- Beiträge
- 28
Du hast ja vermutlich ein Feld BIT oder etwas vergleichbares das deinen Datensatz fest schreibt.
Ich weiß gerade nicht so richtig, was damit gemeint ist.
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Du hast ja vermutlich ein Feld BIT oder etwas vergleichbares das deinen Datensatz fest schreibt.
Wenn das passiert muss deine Anwendung oder deine Datenbank dafür sorgen, das der Eintrag dupliziert wird und der alte festgeschrieben, ganz einfachEin Projekt wird angelegt: Projektnummer wird vergeben, Kunde eingetragen, Systeme verknüpft...
Wenn nun alles festgelegt wurde, dann möchte der Controller den Stand dieses Projektes einfrieren und unter einer Version speichern. Projekt "X" soll also die Version "2" bekommen.
USE [CODB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[tr_Projekte_Version]
ON [dbo].[Projekte]
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;
IF UPDATE (P_V)
Insert Into dbo.Projekte (P_NR, P_V, ...)
(SELECT P_NR, P_V, ... FROM deleted)
END
USE [CODB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[tr_Projekte_Version]
ON [dbo].[Projekte]
AFTER UPDATE
AS
DECLARE @newID INT
BEGIN
SET NOCOUNT ON;
IF UPDATE (PRO_V)
Insert Into dbo.Projekte (
PRO_PCIS,
PRO_NAME,
PRO_SOP,
KUN_ID,
PRO_BM,
PRO_T_LFM,
PRO_T_FWM,
PRO_T_FVE,
PRO_T_CADS,
PRO_T_EL,
PRO_T_IE,
PRO_T_LOG,
PRO_T_CTL,
PRO_T_EK,
PRO_T_QA,
PRO_T_CO,
PRO_V)
(SELECT
PRO_PCIS,
PRO_NAME,
PRO_SOP,
KUN_ID,
PRO_BM,
PRO_T_LFM,
PRO_T_FWM,
PRO_T_FVE,
PRO_T_CADS,
PRO_T_EL,
PRO_T_IE,
PRO_T_LOG,
PRO_T_CTL,
PRO_T_EK,
PRO_T_QA,
PRO_T_CO,
PRO_V
FROM
deleted)
SET @newID = (SELECT
pro.PRO_ID
FROM
dbo.Projekte as pro,
deleted as del
WHERE
pro.PRO_V = del.PRO_V AND
pro.PRO_PCIS = del.PRO_PCIS)
Insert Into dbo.ZProjekteBauteile (
PRO_ID,
BT_ID,
Z_PB_ANZAHL)
(SELECT
@newID,
ori.BT_ID,
ori.Z_PB_ANZAHL
FROM
dbo.ZProjekteBauteile as ori,
deleted as del,
inserted as new
WHERE
del.PRO_ID = ori.PRO_ID)
END