Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst SQL Temporäre Tabellen abfragen

Mitglied: Fred666

Fred666 (Level 1) - Jetzt verbinden

17.07.2011 um 19:02 Uhr, 10146 Aufrufe, 5 Kommentare

Verwendet wird SQL 2005

Hey zusammen,

ich habe eine Frage zu temporären Tabellen!!

Und zwar habe ich eine Stored Procedure welche mir eine Temp. Tabelle erstellt und diese füllt.

Wenn ich nun in einer Query (der gleichen Datenbank) die Stored Procedure ausführe und danach auf Daten der TempTabelle zugreifen möchte bekomme ich den Fehler:

<Invalid object name '#TempTestTabelle'>

Mein Aufruf sieht folgendermaßen aus:

01.
 USE NORTHWIND
02.
EXEC dbo.USP_TempTabelle        --Hier wird #TempTestTabelle erzeugt
03.
--nun auf diese Daten zugreifen
04.
SELECT Spalte1, Spalte3 FROM #TempTestTabelle
Was muss ich tun, damit ich mit der Temp. Tabelle in anderen Querys arbeiten kann?!?

Danke und Grüße
Fred
Mitglied: Biber
17.07.2011 um 19:48 Uhr
Moin Fred666,

  • eine in einer Stored Procedure angelegte lokale temporäre Tabelle (Präfix "#") ist nur innerhalb der StP inclusive evtl aufgerufener Unter-stored procedures sichtbar.
  • eine irgendwo, z.B. in einer Stored Procedure angelegte globale temporäre Tabelle (Präfix "##") ist innerhalb der gesamten Session sichtbar.

-> also entweder globale TempTables anlegen
-> oder alles (auch deine Queries) in einer erweiterten StP abfackeln.

Grüße
Biber
Bitte warten ..
Mitglied: Fred666
17.07.2011 um 21:38 Uhr
Hi Biber,

okey danke für die Infos! .... das mit dem global hab ich versucht aber nicht ganz geklappt. werde wohl oder übel unterUSP aufrufen müssen!!


Greez und danke
Fred!!
Bitte warten ..
Mitglied: Biber
17.07.2011 um 22:39 Uhr
Moin Fred666,

hab ich versucht aber nicht ganz geklappt..
-> Gilt hier nicht im Forum.

Eventuell hilft es schon, wenn du die Tabellen beim SELECT (also nach dem CREATE und Befüllen durch die StP) mit voll qualifiziertem Namen ansprichst.

Also
SELECT whatever1, whatever2 FROM tempdb.dbo.##TempTestTabelle
 
Und es muss natürlich in derselben Session sein.

Grüße
Biber
Bitte warten ..
Mitglied: Fred666
18.07.2011 um 08:34 Uhr
Hi...

okey! ... nehme ich zur Kenntniss^^ .... Also ich habe es so probiert wie du meintest:
Habe in einer Query eine ##TempTabelle angelegt und in einer anderen darauf zugegriffen. Hat geklappt.
ABER: wenn ich in einer Query eine ##TempTabelle anlege, diese Querry schließe und in einer neuen Query darauf zugreifen möchte geht das nicht mehr!!

Das war mit dem"versucht aber nicht geklappt" gemeint!!

EDIT: Also wenn ich das über eine USP mache, dann ist die ##TempTable bearbeitbar aber nur solange wie das Fenster welches die USP aufrief offen ist!! Wenn ich dieses Fenster schließe, welches die USP aufruft dann ist auch die Tabelle weg!

weitere Frage: wie sicher bzw. erstrebenswert ist es globale Temp Tabellen zu verwenden?? Gibt es da irgendwelche risiken oder ähnliches das man beachten sollte?!?

Grüße Fred
Bitte warten ..
Mitglied: MadMax
18.07.2011 um 13:01 Uhr
Moin,

temporäre Tabellen werden gelöscht, sobald die SP, durch die sie angelegt wurde, beendet wird. Ob lokal oder global ist egal, wenn USP_TempTabelle beendet wird, ist die Tabelle weg. Was funktioniert ist, wenn die temporäre Tabelle erst erstellt wird, dann in der Unterprozedur USP_TempTabelle die Tabelle befüllt wird und dann der Inhalt weiterverarbeitet wird. Nicht die schönste Art, aber anders gehts nicht (wenn doch, dann wäre ich auch für eine sinnvolle Alternative dankbar ).

Der Nachteil von globalen Tabellen ist einfach der: Wenn mehrere Benutzer ein Programm bedienen und erst Benutzer A die globale Tabelle anlegt und anschließend Benutzer B dieselbe Prozedur aufruft und auch die Tabelle anlegen will, dann bekommt der einen Fehler. Die temporäre Tabelle von Benutzer A sollte er auch nicht verwenden, weil er ja nicht weiß, wann der die Tabelle wieder löscht.

Bis jetzt habe ich noch keine sinnvolle Verwendung in einem Programm für die globale Tabelle gefunden. Einzig, wenn ich im Query Analyzer was teste und von einer anderen Session aus mal einen Wert abfragen will, dann brauche ich die globalen Tabellen, aber das kommt so gut wie nie vor

Gruß, Mad Max
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

Suchen mit 2 Werten (x,y) in einer Tabell - Bereich.vergleich gibt nur Wahr oder Falsch aus

gelöst Frage von ArafatMicrosoft Office2 Kommentare

Hallo Zusammen, ich suche in einem 2. Tabellenbatt nach über 2 Werte x und y nach einem 3. Wert. ...

Datenbanken

MS-SQL-Server + T-SQL+Batch

Frage von kallewirschDatenbanken4 Kommentare

Hallo Gemeinde, mal wieder ein Problem aus dem Bereich des MS-SQL-Servers. Folgendes Thema: Nachts sollen automatisch Backups der DBen ...

Datenbanken

SQL Frontend?

Frage von sschultewolterDatenbanken8 Kommentare

Hallo, bin auf der Suche nach einer MySQL Frontend Software. Zum Aufbau: Auf einem Debian Rechner läuft eine MySQL ...

PHP

Abfrage SQL

gelöst Frage von dudeldoedelPHP3 Kommentare

Hallo zusammen, kann man das in einer SQL Abfrage erreichen ??? Feldwert lautet: {"565":{"textinput":{"comment":"1400"}}} als Ergebnis soll ausgelesen werden ...

Neue Wissensbeiträge
Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 15 MinutenWindows 10

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Sicherheit

Heise Beitrag Passwort-Sammlung mit 773 Millionen Online-Konten im Netz aufgetaucht

Information von Penny.Cilin vor 2 StundenSicherheit1 Kommentar

Auf Heise Online ist folgender Beitrag veröffentlicht worden: Heise Beitrag passwörter geleakt Ich bin mir jetzt nicht ganz sicher, ...

Microsoft Office
TEAMS - Skype for business
Tipp von Nebellicht vor 2 StundenMicrosoft Office

Hallo, ms ersetzt Skype for business durch TEAMS. Also, nicht wundern wenn mit der OFFICE365 Umgebung kein Skype for ...

Windows 10

Windows 10: Cortana und die Suche gehen bald wieder eigene Wege

Information von Frank vor 6 StundenWindows 102 Kommentare

Microsoft hat einen neuen Insider Build von Windows 10 veröffentlicht (Fast Ring, Version 18317), wo die digitale Assistentin "Cortana" ...

Heiß diskutierte Inhalte
Microsoft
SFirm 4.0 auf Terminalserver startet für jeden angemeldeten Benutzer diverse Dienste
Frage von Frank84Microsoft25 Kommentare

Hallo zusammen, wir verwenden Sfirm 4.0 auf einem Terminalserver (der SQL Server ist auf einem separaten Server), das Problem ...

Windows Server
Uhren gehen immer wieder falsch
Frage von killtecWindows Server22 Kommentare

Hallo, ich habe folgende Konstellation: 1. Physischer DC Div. Virtuelle DC's auf Hyper-V Servern Die Hyper-V-Server, der Physische DC ...

Windows 10
VM wächst schnell von 14 auf 35 GB an - warum?
Frage von degudejungWindows 1018 Kommentare

Hallo, ich bin ein Freund schlanker VMs und setze daher gerne mit dem Erscheinen einer neuen Win10 Version - ...

Internet
Google-Suchergebnisse, Schnelleinblendung, woher kommt der Inhalt?
gelöst Frage von departure69Internet17 Kommentare

Hallo. Ich bin der Systembetreuer einer kleinen Gemeinde in Süddeutschland. Wir betreiben auch eine Leihbücherei. Eine Kundin hat letzten ...