Wpis z mikrobloga

Co oznacza duża litera N w tym zapisie? Dodatkowo co oznacza NOCOUNT ON? Jest to nieco dziwne. To wynik z SQL Server Profilera. Ponoć nie ma głupich pytań.

exec sp_executesql N'SET NOCOUNT ON;
UPDATE [CarCompanies] SET [Brand] = @p0
WHERE [CarCompanyId] = @p1;
SELECT @@ROWCOUNT;

',N'@p1 int,@p0 nvarchar(4000)',@p1=1,@p0=N'Pagani'

#pytanie #pytaniedoeksperta #entityframework #sql #csharp #naukaprogramowania
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 1
@vanguard2727: a dlaczego tutaj N, przecież nie ma żadnych dziwnych znaków? Bo sp_executesql jako parametr musi mieć NVARCHAR, więc bez tego byś miał błąd :)
A, i NOCOUNT, powoduje, że serwer nie zwraca liczby wierszy które pobrał/zmienił (te "X row(s) affected"), jak wiele razy (tysiące w sekundę) wykonujesz jakąś operacje to dzięki temu oszczędzasz przepustowość
  • Odpowiedz