- Beiträge: 4
- Dank erhalten: 0
'Import neuer' Artikel beschleunigen
- arnd
-
Autor
- Offline
- Fresh Boarder
-
Weniger
Mehr
11 Jahre 1 Monat her - 11 Jahre 1 Monat her #911
von arnd
'Import neuer' Artikel beschleunigen wurde erstellt von arnd
Hallo!
Eine kleine Ergänzung für die UserPreImport - Procedure.
Sie löscht beim 'Import neuer' alle Artikel aus der Dateiimport-Tabelle, die schon im Pool oder der 300-Datenbank vorhanden sind.
Bei großen Datenmengen mit wiederkehrenden Artikeln kann das den Import deutlich beschleunigen.
Grüße
Arnd
Eine kleine Ergänzung für die UserPreImport - Procedure.
Sie löscht beim 'Import neuer' alle Artikel aus der Dateiimport-Tabelle, die schon im Pool oder der 300-Datenbank vorhanden sind.
Bei großen Datenmengen mit wiederkehrenden Artikeln kann das den Import deutlich beschleunigen.
USE [....300]
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UserPreImport] (@ImportNr VarChar(5), @Arbeitsplatz as VarChar(2)) as
DECLARE @TabName varchar(80)
DECLARE @PoolDBName varchar(20)
SET @TabName = 'DateiImport' + @Arbeitsplatz + '_' +@ImportNr
SET @PoolDBName = '...._pool'
-- Einschränkung auf Importnummern, die mit 10 oder 99 beginnen (Bei uns sind das die Artikelimporte)
if (left(@ImportNr,2))='10' or (left(@ImportNr,2))='99'
begin
-- Bei Import neuer Artikel in Pool oder 300
if (select count(*) from ...._vd3.dbo.DateiImport
where ...._vd3.dbo.DateiImport.ImportNr=@ImportNr AND
(LEFT(ToDo, 1) = '0') AND
(SUBSTRING(ToDo, 2, 1) = '1' OR SUBSTRING(ToDo, 2, 1) = '2'))>0
begin
exec ('delete
FROM '+@TabName+'
FROM '+@TabName+' RIGHT OUTER JOIN
(SELECT ArtikelNr, Einheit, Farbe, Grösse, EAN, Typ, DruckEAN
FROM '+@PoolDBName+'.dbo.EAN
UNION
SELECT ArtikelNr, Einheit, Farbe, Grösse, EAN, Typ, DruckEAN
FROM EAN ) AS Pool_EAN
ON '+@TabName+'.EAN#0_EAN#0 = Pool_EAN.EAN
WHERE (NOT ('+@TabName+'.lfd IS NULL))
')
end
end
Grüße
Arnd
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- asu
-
- Offline
- Moderator
-
Weniger
Mehr
- Beiträge: 161
- Dank erhalten: 20
11 Jahre 1 Monat her - 11 Jahre 1 Monat her #338
von asu
"Wer Rechtschreibfehler findet, darf sie behalten."
asu antwortete auf Re: 'Import neuer' Artikel beschleunigen
Hallo arnd,
daraus deute ich, das ihr im Import nicht alles in einem Durchlauf erledigt, also vorhandene Artikel in der Pool- und Hauptdatenbank updaten, neue anlegen usw., sondern getrennte Import für jeweils eine Aufgabe fahrt, richtig ?
Gruß
asu
daraus deute ich, das ihr im Import nicht alles in einem Durchlauf erledigt, also vorhandene Artikel in der Pool- und Hauptdatenbank updaten, neue anlegen usw., sondern getrennte Import für jeweils eine Aufgabe fahrt, richtig ?
Gruß
asu
"Wer Rechtschreibfehler findet, darf sie behalten."
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- arnd
-
Autor
- Offline
- Fresh Boarder
-
Weniger
Mehr
- Beiträge: 4
- Dank erhalten: 0
11 Jahre 1 Monat her - 11 Jahre 1 Monat her #339
von arnd
arnd antwortete auf Re: 'Import neuer' Artikel beschleunigen
Hallo asu,
ja, es geht haupsächlich um den regelmäßigen Pool-Import.
Deshalb die Einschränkung mit dem DateiImport.ToDo - Diese muss natürlich anders aussehen:Damit sollte nur gelöscht werden, wenn kein Update ausgewählt ist.
Danke für den Hinweis.
Grüße
Arnd
ja, es geht haupsächlich um den regelmäßigen Pool-Import.
Deshalb die Einschränkung mit dem DateiImport.ToDo - Diese muss natürlich anders aussehen:
-- Bei Import neuer Artikel in Pool oder 300
if (select count(*) from ...._vd3.dbo.DateiImport
where ...._vd3.dbo.DateiImport.ImportNr=@ImportNr AND
(LEFT(ToDo, 1) = '0') AND
(SUBSTRING(ToDo, 2, 1) = '1' OR SUBSTRING(ToDo, 2, 1) = '2'))>0
Danke für den Hinweis.
Grüße
Arnd
Bitte Anmelden oder Registrieren um der Konversation beizutreten.