MSSQL: dynamisches SQL mit nicht globaler TempTable
Geizhals » Forum » Programmierung » MSSQL: dynamisches SQL mit nicht globaler TempTable (19 Beiträge, 203 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
....
Re(4): MSSQL: dynamisches SQL mit nicht globaler TempTable
14.03.2010, 20:09:47
Du sagst also:
(i) dynamisches SQL in einer eigenen Session ist
(ii) temporäre Tabellen nicht aus fremden Sessions abrufbar sind
(iii) du Tabellen an dynamisches SQL übergeben willst


genau ...

Wenn aber die temporären Tabellen in einer anderen Session als das dynamische SQL sind (was immer das auch genau ist |-D ) - und man auf temporäre Tabellen nicht aus fremden Sessions zugreifen kann - dann kann es gar nicht gehen, dass man die Tabellen übergibt (schließlich wären die dann nicht benutzbar |-D ).


doch, weil man bei dem Aufruf eines dynamischen SQL Variablen übergeben kann ;)

das hier ist dynamisches SQL:

Declare @SQL nVarChar(1000) --N.B. string must be unicode for sp_executesql
SELECT @SQL = 'SELECT * FROM pubs.DBO.Authors WHERE au_lname = @AuthorName'

Exec sp_executesql @SQL, N'@AuthorName nVarChar(50)', @AuthorName = 'white'

hier wird zum Beispiel 'white' in die Session als Variable @AuthorName übergeben ... wenn ich jetzt in meiner jetzigen Session zB einen Cursor über den Authoren hätte, könnte ich anstatt 'white' auch eine Variable übergeben ...

ich benötige das dynamische SQL deshalb unbedingt, weil ich eine variable dynamisch verändere und das ist sonst nicht möglich!

Wie wäre es, wenn du pro Session eine unique globale Temp-Table anlegst - zB mit der SessionID im Namen ?


ich will eben keine globale Temp-Table anlegen, weil ich mich dann ja um die Existenz kümmern muss ... bei einer nicht globalen Temp-Table wird die Table beim Beenden der Session gelöscht und das muss eben irgendwie auch mit einem dynamischen SQL gehen ;)

Aber wieso muss dynamisches SQL überhaupt in anderen Sessions laufen ?


weil das dynamische SQL über exec sp_executesql aufgerufen wird und das läuft automatisch in einer neuen Session!

Was ist das überhaupt ?


http://www.sqlteam.com/article/introduction-to-dynamic-sql-part-1

Und ... darfs denn das ? |-D


ich glaub schon |-D


my car @ Spritmonitor.de



Verkaufe Windows 2008 Std. x64 inkl. 5 CALs, bei Interesse einfach melden!
Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung