Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Dlaczego nie można utworzyć globalnej tabeli tymczasowej lub obciąć jej podczas wywoływania procedury składowanej z kodu C#?

Uważam, że chociaż można zrobić to, co opisujesz, nie jest to zbyt praktyczne, ponieważ zakłada wiele trudnych czasów:sesja otwiera połączenie A i uruchamia proc, aby utworzyć tabelę ##temp i tę sesję utrzymuje połączenie otwarte tak długo, jak długo połączenia B, C itp. muszą mieć dostęp do tabeli tymczasowej.

Lepiej byłoby skorzystać z rozwiązania wykorzystującego „stałą” tabelę, w której wiersz jest dodawany z unikalnym identyfikatorem (int lub GUID) dla każdej „sesji”, wartość ta zostanie zwrócona przez wywołanie inicjujące (lub w inny sposób może zostać pobrana lub zidentyfikowane) i używane przez wszystkie kolejne wywołania sesji.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Entity Framework — rozmiar wiersza większy niż dopuszczalny maksymalny rozmiar wiersza 8060

  2. Uzyskaj kwartały StartDate i EndDate z roku

  3. Czy można aktualizować funkcję zwracającą tabelę?

  4. Zwróć wszystkie klucze obce, które odwołują się do danej tabeli w SQL Server

  5. Czy istnieje coś takiego jak zbyt wiele stolików?