2017-02-28 6 views
1

Ich bin neu bei Teradata. Ich habe eine Tabelle mit Millionen von Datensätzen, und ich versuche, basierend auf einer Untermenge Abfragen mithilfe einer Nachschlageliste, um meine Where-Klausel zu füttern.
Meine Lookup-Liste enthält Tausende von Datensätzen.Verwenden der Nachschlage-Liste in Teradata (Verwenden von Teradata SQL Assistant)

In SQL-Assistent ist das, was ich versucht habe:

SELECT T.* 
FROM a_balance T 
JOIN 
    OPENROWSET (
      BULK 'c:\myfile.txt', 
      FORMATFILE = 'c:\myfileformat.txt' 
    ) B ON T.accountID = B.accountID 

Was möchten Sie zu tun in Teradata SQL-Assistenten empfehlen?

+0

Versuchen Sie, die Daten in eine Tabelle zu importieren. –

+0

Ich habe keinen Schreibzugriff auf die Datenbank. – treponema

+0

Sie benötigen keinen Schreibzugriff auf dieselbe Datenbank wie die Tabelle a_balance. Fordern Sie in jeder Datenbank einen Schreibzugriff an. –

Antwort

2

Als @denoeth vorgeschlagen -
Sie können eine flüchtige Tabelle erstellen.
(Ich würde vorschlagen, Sie immer noch für einen Kratzer/Spielplatz Datenbank fragen werden)

VOLATILE
... Die Definition einer flüchtigen Tabelle ist für die Dauer der einzige in Speicher gehalten wird, Sitzung, in der es definiert ist. Die Speicherplatznutzung wird dem Spool-Bereich des Login-Benutzers belastet.. Da flüchtige Tabellen für die Sitzung, die sie erstellt, privat sind, überprüft das System nicht die Erstellungs-, Zugriffs-, Änderungs- und Ablageberechtigungen. Eine einzelne Sitzung kann bis zu 1.000 flüchtige Tabellen enthalten.

SQL Data Definition Language Syntax und Beispiele 15.10 B035-1144-151K Juni 2015


Import
(gut für relativ kleine Datenmengen)

mit Teradata SQL-Assistenten lösen

"Extras" -> "Optionen" -> "Importieren"

Scharf/Unscharf "Ignorieren Sie den ersten Eintrag in der Importdatei (überspringen Header)"
Set "Maximale Chargengröße für einfachen Import" zu 999

create volatile set table accounts (accountID int) 
unique primary index (accountID) 
on commit preserve rows 
; 

"Datei" -> Import“ Data“

insert into accounts (accountID) values (?); 

"Datei" -> "Import Data"(abbrechen Auswahl)

+0

Natürlich funktioniert das auch ohne Create Table Rechte mit einem Volatile Table :-) – dnoeth

+0

@denoeth - Touché :-) –

+0

Besser hinzufügen 'ON COMMIT PRESERVE ROWS', die meisten Kunden führen Teradata Modus Sessions aus :-) Und wechseln zu' SET' um doppelte Zeilenfehler zu vermeiden. – dnoeth