Können Sie bitte den Unterschied zwischen #temptable und ## TempTable im MSSQL-Server erklären. Ich habe darüber gegoogelt, kann aber nicht.Unterschied zwischen #temptable und ## TempTable?
Bitte helfen Sie mir zu diesem
Können Sie bitte den Unterschied zwischen #temptable und ## TempTable im MSSQL-Server erklären. Ich habe darüber gegoogelt, kann aber nicht.Unterschied zwischen #temptable und ## TempTable?
Bitte helfen Sie mir zu diesem
Lokale Temptabellen
Lokale temporäre Tabellen sind nur für die aktuelle Verbindung für den Benutzer zur Verfügung; und sie werden automatisch gelöscht, wenn der Benutzer von Instanzen trennt. Der Name der lokalen temporären Tabelle wird mit dem Hashzeichen ("#") signiert.
Beispiel:
CREATE TABLE #LocalTempTable(
UserID int,
UserName varchar(50),
UserAddress varchar(150))
Umfang der lokalen temporärer Tabelle ist nur mit der aktuellen Verbindung von aktuellem Benutzer begrenzt.
globale temporäre Tabellen
globale temporäre Tabellen Name beginnt mit einem doppelten Hash ("##"). Sobald diese Tabelle durch eine Verbindung erstellt wurde, ist sie wie eine permanente Tabelle für jeden Benutzer über eine beliebige Verbindung verfügbar ( ). Es kann nur gelöscht werden, sobald alle Verbindungen geschlossen wurden.
Beispiel:
CREATE TABLE ##NewGlobalTempTable(
UserID int,
UserName varchar(50),
UserAddress varchar(150))
Globale temporäre Tabellen sind sichtbar alle SQL Server-Verbindungen. Wenn Sie eines davon erstellen, können alle Benutzer es sehen.
`#table bezieht sich auf eine lokale (sichtbar nur den Benutzer, der sie erstellt wurden) temporäre Tabelle.‘
'## Tabelle bezieht sich auf eine globale (für alle Benutzer sichtbare) temporäre Tabelle.'
Lokale temporäre Tabellen sind nur für ihre Ersteller während derselben Verbindung zu einer Instanz von SQL Server sichtbar, als wenn die Tabellen zum ersten Mal erstellt oder referenziert wurden. Lokale temporäre Tabellen werden gelöscht, nachdem der Benutzer die Verbindung mit der SQL Server-Instanz getrennt hat. Globale temporäre Tabellen sind für jeden Benutzer und jede Verbindung nach ihrer Erstellung sichtbar und werden gelöscht, wenn alle Benutzer, die auf die Tabelle verweisen, die Verbindung zur Instanz von SQL Server trennen.
Hier ist eine weitere schnelle Überschau von SQL temporäre Tabellen, wenn Sie Google würde, könnte man mehr darüber wissen bekommen
Lokale Tempentabelle
Lokale Temp-Tabellen sind nur für die aktuelle Verbindung verfügbar für den Benutzer; und sie werden automatisch gelöscht, wenn der Benutzer die Verbindung zu Instanzen trennt. Der Name der lokalen temporären Tabelle wird mit einem Hash-Zeichen ("#") angezeigt.
Globalen Temp-Tabelle
globale temporäre Tabellen Name beginnt mit einem doppelten Hash ("##"). Sobald diese Tabelle durch eine Verbindung erstellt wurde, ist sie wie eine permanente Tabelle für jeden Benutzer über jede Verbindung verfügbar. Es kann nur gelöscht werden, nachdem alle Verbindungen geschlossen wurden.
Beide temporäre Tabellen werden im temporären Ordner von tempdb gespeichert. Wenn wir eine temporäre Tabelle erstellen, wird sie in den temporären Ordner der Tempdb-Datenbank verschoben.
temporäre Tabelle mit spezifischer ID
Wenn Sie Temp-Tabelle erstellen, erstellt SQL Server Tabellennamen mit spezifischer ID zusammen, so dass es kollidieren wird nicht mit einem anderen Tabelle Tabellennamen
Ihre Antwort ist sehr ähnlich zu meiner –
weil ** du und ich ** aus dem gleichen Artikel brotha gestohlen;), aber ich schlage vor, dass anstelle meines eigenen Wortes weil 'Abhijit Jana' Der ursprüngliche Autor erklärte sehr einfach als ich würde;) – Kirk
Vielen Dank für Ihre Antworten. Ich habe jetzt eine klare Idee –
Eins ist CamelCase und eins ist Kleinbuchstabe – DaveBoltman