SSIS problem med Lookup Transformation
Hej.Jeg sidder med på en SQL 2005 server og er ved at lave en fil import.
Jeg skal så i det forløb tjekke om en record som jeg er ved at importerer er i basen i forvejen, det kan man jo gøre med Lookup Transformation componenten.
Mit problem er nu at jeg skal kigge i flere tabeller og lave union.
mit sql scrip ser sådan ud:
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS DK$Transaction Entry] (NOLOCK)
where [Transaction No_] = and [Transaction DateTime]=
union
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS GO$Transaction Entry] (NOLOCK)
union
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS NO$Transaction Entry] (NOLOCK)
union
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS STO$Transaction Entry] (NOLOCK)
union
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[Konsolideret$Transaction Entry] (NOLOCK)
union
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[Koncern$Transaction Entry] (NOLOCK)
union
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[Unicore$Transaction Entry] (NOLOCK)
og det bliver så oversat til:
select * from
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS DK$Transaction Entry] (NOLOCK)
union
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS GO$Transaction Entry] (NOLOCK)
union
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS NO$Transaction Entry] (NOLOCK)
union
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS STO$Transaction Entry] (NOLOCK)
union
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[Konsolideret$Transaction Entry] (NOLOCK)
union
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[Koncern$Transaction Entry] (NOLOCK)
union
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[Unicore$Transaction Entry] (NOLOCK)) as refTable
where [refTable].[Transaction DateTime] = ? and [refTable].[Transaction No_] = ?
men i min bog skulle det se sådan ud:
select * from
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS DK$Transaction Entry] (NOLOCK)
where [refTable].[Transaction DateTime] = ? and [refTable].[Transaction No_] = ?
union
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS GO$Transaction Entry] (NOLOCK)
where [refTable].[Transaction DateTime] = ? and [refTable].[Transaction No_] = ?
union
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS NO$Transaction Entry] (NOLOCK)
where [refTable].[Transaction DateTime] = ? and [refTable].[Transaction No_] = ?
union
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[DIBS STO$Transaction Entry] (NOLOCK)
where [refTable].[Transaction DateTime] = ? and [refTable].[Transaction No_] = ?
union
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[Konsolideret$Transaction Entry] (NOLOCK)
where [refTable].[Transaction DateTime] = ? and [refTable].[Transaction No_] = ?
union
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[Koncern$Transaction Entry] (NOLOCK)
where [refTable].[Transaction DateTime] = ? and [refTable].[Transaction No_] = ?
union
SELECT [Transaction No_], [Transaction DateTime]
FROM [DIBSNAVI].[dbo].[Unicore$Transaction Entry] (NOLOCK)) as refTable
where [refTable].[Transaction DateTime] = ? and [refTable].[Transaction No_] = ?
Det går så heller ikke da hvert spørgsmålsteg skal mappes til en parameter så har jeg prøvet at assigen ? til en variablen men det kan man heller ikke...
Så hvad gør jeg så for at få lavet om den record jeg er ved at importerer er der i forvejen?
man kunne selvfølgelig lave en lookup pr. tabel men det er ikke den løsning jeg er ude efter.