Hallo Leute,
ich möchte die Tabelle Immo updaten mit Werten aus der tbl_sc_partner, nach dem ein insert auf die Tabelle Immo erfolgt ist. Der Insert bringt nur ein Teil der Daten(Briefnr, Fordnr, Dwdocid) und denn rest muss ich über die tabelle tbl_sc_partner(Name1, Name2, Engagementnr,Gebdat, Fordnr ) über die Keys Fordnr oder partnerid holen.
Hier die beiden Tabellen: Die Verbindung geht entweder 1:1 über Fordnr (der nicht immer zur Verfügung steht) oder 1:n Partnerid (der immer Vorhanden ist)
Ich habe versucht das über ein Trigger zu lösen aber irgendwie funktioniert das nicht !!
Wer kann mit da weiter helfen ?
THX an alle, die sich die Mühe geben
GO
CREATE TABLE [dbo].[immo] (
[DWDOCID] int NULL,
[DWPAGECOUNT] int NULL,
[DWDISKNO] int NULL,
[DWFLAGS] int NULL,
[DWOFFSET] int NULL,
[DWSTOREDATETIME] datetime NULL,
[DWSTOREUSER] nvarchar(50) NULL,
[DWMODDATETIME] datetime NULL,
[DWMODUSER] nvarchar(50) NULL,
[DWLASTACCESSDATETIME] nvarchar(53) NULL,
[DWLASTACCESSUSER] nvarchar(50) NULL,
[DWSTORAGEACCESS] nvarchar(50) NULL,
[ENGAGEMENTNR] nvarchar(50) NULL,
[NACHNAME] nvarchar(50) NULL,
[VORNAME] nvarchar(51) NULL,
[GEBURTSDATUM] nvarchar(50) NULL,
[SPARTE] nvarchar(50) NULL,
[BEHLTER] nvarchar(50) NULL,
[STATUS] nvarchar(50) NULL,
[MATCHCODE] nvarchar(50) NULL,
[PRODUNIT] int NULL,
[PARTNERID] nvarchar(50) NULL,
[DOKDATUM] nvarchar(50) NULL,
[VBDATUM] nvarchar(50) NULL,
[VBAKTZ] nvarchar(50) NULL,
[TITEL] nvarchar(50) NULL,
[FORDNR] nvarchar(50) NULL,
[BARCODENR] nvarchar(50) NULL,
[MIG_ID] nvarchar(50) NULL,
[MIG_STATUS] nvarchar(50) NULL,
[MIG_STATUS_DETAIL] nvarchar(50) NULL,
[KATEGORIE] nvarchar(50) NULL,
[BELEGART] nvarchar(50) NULL,
[PHIN_STATUS] nvarchar(50) NULL,
[STAPELNUMMER] nvarchar(50) NULL,
[FORDERGNR] nvarchar(50) NULL,
[GLAEUBIGERNR] nvarchar(50) NULL,
[BRIEFID] nvarchar(50) NULL,
[BRIEFNR] nvarchar(50) NULL,
[FELD_29] nvarchar(50) NULL)
ON [PRIMARY]
WITH (DATA_COMPRESSION = NONE);
GO
CREATE TABLE [dbo].[TBL_SC_PARTNER] (
[PRODUNIT] nvarchar(384) NULL,
[FORDNR] nvarchar(50) NULL,
[FORDERGNR] int NULL,
[GLAEUBIGERNR] int NULL,
[PARTNERID] nvarchar(384) NOT NULL,
[NAME2] varchar(35) NULL,
[NAME3] varchar(35) NULL,
[NAME1] varchar(35) NOT NULL,
[STRASSE] varchar(35) NULL,
[PLZ] varchar(6) NULL,
[ORT] varchar(28) NULL,
[GEBURTSDATUM] datetime NULL,
[BEZSPARTE] varchar(40) NULL,
[AKTENEIGNER] nvarchar(384) NOT NULL,
[ENGAGEMENT] varchar(25) NULL,
[PARTNERIDALT] nvarchar(384) NULL)
ON [PRIMARY]
WITH (DATA_COMPRESSION = NONE);
GO
Trigger:
CREATE TRIGGER [dbo].[trig_update_Immo_Meta] ON [dbo].[immo]
AFTER INSERT
AS
--if immo.BRIEFNR is not null
Begin
Update dbo.immo
set i.ENGAGEMENTNR = t.ENGAGEMENT,
i.Nachname = t.NAme1,
i.VOrname = t.Name2,
i.Stapelnummer ='o.k'
FROM dbo.IMMO i
INNER JOIN dbo.TBL_SC_PARTNER.Name1 t
ON t.PARTNERID = i.PARTNERID
INNER JOIN inserted i
ON i.Fordnr = t.PARTNERID
END
GO
ich möchte die Tabelle Immo updaten mit Werten aus der tbl_sc_partner, nach dem ein insert auf die Tabelle Immo erfolgt ist. Der Insert bringt nur ein Teil der Daten(Briefnr, Fordnr, Dwdocid) und denn rest muss ich über die tabelle tbl_sc_partner(Name1, Name2, Engagementnr,Gebdat, Fordnr ) über die Keys Fordnr oder partnerid holen.
Hier die beiden Tabellen: Die Verbindung geht entweder 1:1 über Fordnr (der nicht immer zur Verfügung steht) oder 1:n Partnerid (der immer Vorhanden ist)
Ich habe versucht das über ein Trigger zu lösen aber irgendwie funktioniert das nicht !!
Wer kann mit da weiter helfen ?
THX an alle, die sich die Mühe geben
GO
CREATE TABLE [dbo].[immo] (
[DWDOCID] int NULL,
[DWPAGECOUNT] int NULL,
[DWDISKNO] int NULL,
[DWFLAGS] int NULL,
[DWOFFSET] int NULL,
[DWSTOREDATETIME] datetime NULL,
[DWSTOREUSER] nvarchar(50) NULL,
[DWMODDATETIME] datetime NULL,
[DWMODUSER] nvarchar(50) NULL,
[DWLASTACCESSDATETIME] nvarchar(53) NULL,
[DWLASTACCESSUSER] nvarchar(50) NULL,
[DWSTORAGEACCESS] nvarchar(50) NULL,
[ENGAGEMENTNR] nvarchar(50) NULL,
[NACHNAME] nvarchar(50) NULL,
[VORNAME] nvarchar(51) NULL,
[GEBURTSDATUM] nvarchar(50) NULL,
[SPARTE] nvarchar(50) NULL,
[BEHLTER] nvarchar(50) NULL,
[STATUS] nvarchar(50) NULL,
[MATCHCODE] nvarchar(50) NULL,
[PRODUNIT] int NULL,
[PARTNERID] nvarchar(50) NULL,
[DOKDATUM] nvarchar(50) NULL,
[VBDATUM] nvarchar(50) NULL,
[VBAKTZ] nvarchar(50) NULL,
[TITEL] nvarchar(50) NULL,
[FORDNR] nvarchar(50) NULL,
[BARCODENR] nvarchar(50) NULL,
[MIG_ID] nvarchar(50) NULL,
[MIG_STATUS] nvarchar(50) NULL,
[MIG_STATUS_DETAIL] nvarchar(50) NULL,
[KATEGORIE] nvarchar(50) NULL,
[BELEGART] nvarchar(50) NULL,
[PHIN_STATUS] nvarchar(50) NULL,
[STAPELNUMMER] nvarchar(50) NULL,
[FORDERGNR] nvarchar(50) NULL,
[GLAEUBIGERNR] nvarchar(50) NULL,
[BRIEFID] nvarchar(50) NULL,
[BRIEFNR] nvarchar(50) NULL,
[FELD_29] nvarchar(50) NULL)
ON [PRIMARY]
WITH (DATA_COMPRESSION = NONE);
GO
CREATE TABLE [dbo].[TBL_SC_PARTNER] (
[PRODUNIT] nvarchar(384) NULL,
[FORDNR] nvarchar(50) NULL,
[FORDERGNR] int NULL,
[GLAEUBIGERNR] int NULL,
[PARTNERID] nvarchar(384) NOT NULL,
[NAME2] varchar(35) NULL,
[NAME3] varchar(35) NULL,
[NAME1] varchar(35) NOT NULL,
[STRASSE] varchar(35) NULL,
[PLZ] varchar(6) NULL,
[ORT] varchar(28) NULL,
[GEBURTSDATUM] datetime NULL,
[BEZSPARTE] varchar(40) NULL,
[AKTENEIGNER] nvarchar(384) NOT NULL,
[ENGAGEMENT] varchar(25) NULL,
[PARTNERIDALT] nvarchar(384) NULL)
ON [PRIMARY]
WITH (DATA_COMPRESSION = NONE);
GO
Trigger:
CREATE TRIGGER [dbo].[trig_update_Immo_Meta] ON [dbo].[immo]
AFTER INSERT
AS
--if immo.BRIEFNR is not null
Begin
Update dbo.immo
set i.ENGAGEMENTNR = t.ENGAGEMENT,
i.Nachname = t.NAme1,
i.VOrname = t.Name2,
i.Stapelnummer ='o.k'
FROM dbo.IMMO i
INNER JOIN dbo.TBL_SC_PARTNER.Name1 t
ON t.PARTNERID = i.PARTNERID
INNER JOIN inserted i
ON i.Fordnr = t.PARTNERID
END
GO
Comment