sql >> Databasteknik >  >> RDS >> Sqlserver

Varför kan man inte skapa en global temporär tabell eller trunkera den när man anropar en lagrad procedur från C#-kod?

Jag tror att även om det är möjligt att göra det du beskriver, är det inte alltför praktiskt, eftersom det förutsätter en hel del knepig timing:en session öppnar anslutning A och kör processen för att skapa ##temp-tabellen, och den sessionen håller anslutningen öppen så länge anslutningarna B, C, etc. behöver kunna komma åt temptabellen.

Du skulle ha det bättre med en lösning som använder en "permanent" tabell, där en rad läggs till med en unik identifierare (int eller GUID) för varje "session", det värdet returneras av initialiseringsanropet (eller på annat sätt kan hämtas eller identifieras), och används av alla efterföljande samtal för sessionen.



  1. Infoga data i tabeller länkade med främmande nyckel

  2. Irritativ sql-förklaring behövs hjälp

  3. SQL Server Ändra databasnamn

  4. T-SQL delad på avgränsare