Comment importer des données avec SSIS pour GUIDs séquentielle?
-
25-09-2019 - |
Question
Y at-il de toute façon à importer des données dans SSIS où j'attends la PKS être GUIDs séquentielle?
La seule méthode que j'ai pu trouver à ce jour est de créer une table temporaire avec la colonne par défaut à newsequentialid()
chargement des données là puis de copier à la table correcte. Ce n'est pas très élégant et est un peu de temps d'avoir à ajouter un tas de couches supplémentaires dans mes paquets pour accueillir ce sujet.
La solution
Je ne t utiliser PKS mais GUIDs ne peux pas vous mettre newsequentialid () comme valeur par défaut, toute insertion à votre datbase utilisera cette
.Autres conseils
Avez-vous regardé clause SORTIE ?
En fait, vous quelque chose de sortie qui a été inséré (y compris les champs d'identité) dans une variable de table ou une table temporaire. Vous ne pouvez pas insérer directement dans une autre table si l'autre table a une relation de clé étrangère. Chaque fois que je l'ai utilisé, j'ai utilisé une table temporaire puis inséré à partir de là dans la table des enfants.
Voici un exemple de son utilisation:
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