Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Redundanz beim neuen Datenimport vermeiden

Empfohlene Antworten

Veröffentlicht

Hallo Leute,

Ich möchte Daten in meiner SQL Tabelle automatisch importieren, aber die Informationen, die schon da sind sollen nicht überschrieben werden oder doppelt vorkommen.

Update kann ich leider nicht benutzen, weil ich mehre Tabelle habe und nicht weiss welche Informationen in der Datei neue sind.

Kann jemand helfen?

Danke

Labelle

Hallo Leute,

Ich möchte Daten in meiner SQL Tabelle automatisch importieren, aber die Informationen, die schon da sind sollen nicht überschrieben werden oder doppelt vorkommen.

Update kann ich leider nicht benutzen, weil ich mehre Tabelle habe und nicht weiss welche Informationen in der Datei neue sind.

Kann jemand helfen?

Danke

Labelle

Was für ein DB

DB ist SQL Server 2000

danke

setzte auf die tabelle(n) einen zusammengesetzten primärschlüssel ... daten die innerhalb des schlüssels doppelt vorkommen, werden verworfen.

s'Amstel

was ist ein zusammengesetzten primärschlüssel ?

ein eindeutiger(!) fachlicher oder technischer Schlüssel, oder die Mischung aus beiden, über 2 oder n Tabellenspalten

setzte auf die tabelle(n) einen zusammengesetzten primärschlüssel ... daten die innerhalb des schlüssels doppelt vorkommen, werden verworfen.

s'Amstel

das macht leider das laden nicht unbedingt schneller

@labelle

um wieviel Datensätze handelt es sich denn ??

das macht leider das laden nicht unbedingt schneller

schon richtig. bei kleinen datenmenge wäre das egal, eine grössere anzahl an rows (in der dimension > 100.000) wäre natürlich anlass, das einem benchmark zu unterziehen. andere faktoren wäre z.b. noch, ob die datentabellen partitioniert sind (ähnlich oracle, aber nicht so komfortabel). das ist auch nur eine mögliche lösung von vielen gangbaren.

beispielsweise liesse sich auch bei inserts mittels NEWID() ein wert vom typ uniqueidentifier mitnehmen:

DECLARE @MEINEEINDEUTIGEZEILE uniqueidentifier

SET @MEINEEINDEUTIGEZEILE = NEWID()

INSERT MeineSpalte1, MeineSpalte2, MeineSpalteN VALUES (@MEINEEINDEUTIGEZEILE ,'bli', 'bla', 'blu')

s'Amstel

@amstelchen:

Dieser Code wird aber zu Fehlern führen, da du nur 3 Spalten mit 4 Werten füllen willst.

Ausserdem - korrigiere mich, wenn ich daneben liege - wird somit jedesmal eine neue ID für den Datensatz angelegt. Dadurch eleminiert man aber nicht doppelte Datensätze!

Dieser Code wird aber zu Fehlern führen, da du nur 3 Spalten mit 4 Werten füllen willst.

Ausserdem - korrigiere mich, wenn ich daneben liege - wird somit jedesmal eine neue ID für den Datensatz angelegt. Dadurch eleminiert man aber nicht doppelte Datensätze!

mein angegebenes sql war pseudocode und sollte halt eine weitere möglichkeit von automatischer wertegenerierung nennen - d.h. datensätze zu generieren, die automatisch mit einem uniquen feld ausgestattet werden.

ich hab deshalb auch MeineSpalteN angegeben, was heissen soll, es können beliebige viele INSERT-spalten definiert werden, die natürlich auch die korrespondierende anzahl an VALUES haben müssen. :)

die tatsache, dass NEWID() immer andere werte generiert, setzt natürlich voraus, dass damit nur die datenbasis gefüllt wird, und subsequente INSERTS schon eine ID (von datentyp uniqueidentifier) haben müssen.

s'Amstel

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.