Frage

Gibt es trotzdem zu importieren Daten in SSIS, wo ich die PKs erwarten sequentielle guids sein?

Die einzige Methode, die ich in der Lage bin, mit so weit zu kommen ist eine temporäre Tabelle mit der Spalte säumigen zu newsequentialid() Laden dort die Daten zu erstellen, dann kopieren Sie den richtigen Tisch. Dies ist nicht sehr elegant und ist etwas zeitaufwändig von einem paar zusätzlichen Schichten in meinen Paketen hinzuzufügen, die diese aufzunehmen.

War es hilfreich?

Lösung

I don t verwenden GUIDs als PKs kann aber nicht festgelegt Sie NEWSEQUENTIALID () als Standardwert, dann ist jede Einlage Ihre datbase werden, dass die Verwendung

.

Andere Tipps

Haben Sie schauen auf der OUTPUT-Klausel ?

Grundsätzlich Sie Ausgang alles, was (einschließlich Identitätsfelder) in eine Tabelle Variable oder eine temporäre Tabelle eingefügt wurde. Sie können es nicht direkt in einer anderen Tabelle einfügen, wenn die andere Tabelle, die eine Fremdschlüsselbeziehung hat. Jedes Mal, wenn ich es benutzt habe, habe ich eine temporäre Tabelle und dann von dort in den untergeordneten Tabelle eingefügt.

Hier ist ein Beispiel für die Verwendung:

DECLARE @roles TABLE (
    SecurityRoleId int
)

INSERT dbo.SecurityRole (
    SecurityRoleName,
    SecurityRoleDescription,
    LastUpdatedGuid
)
OUTPUT
    INSERTED.SecurityRoleId
INTO @roles
SELECT
    SecurityRoleName,
    SecurityRoleDescription,
    NEWID()
FROM @SecurityRole


INSERT INTO dbo.SecurityRoleDtl (
    SecurityRoleId,
    MemberSecurityRoleId
)
SELECT
    1,
    SecurityRoleId
FROM @roles
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top