W jaki sposób program SQL Server określa kolejność kolumn podczas wykonywania SELECT *
?Serwer SQL Wybierz * Sortowanie nazw kolumn
wiem „porządkowania” jest niezbędna do zamawiania dane, ale spodziewałem się nazwy kolumn być spójne.
Uwaga: Mój kod to , a nie w zależności od faktycznej kolejności zwracania kolumn. Chcę tylko wiedzieć, jak SQL Server decyduje się na zamówienie nazw kolumn.
Z około 20 komputerów, z których korzysta moja drużyna, jedna z nich zachowuje się inaczej. Jakakolwiek różnica zasługuje na zbadanie. Zamawianie nazw kolumn wydaje się być takie samo dla wszystkich komputerów po uruchomieniu SQL Server Management Studio. Kiedy nasza aplikacja wysyła zapytanie, widzę różnicę.
Używam programu SQL Server 2008 i SQL Server 2008 R2. Moja aplikacja używa C# System.Data.SqlClient, aby uzyskać dostęp do bazy danych.
EDYTOWANIE: Mój problem polegał na tym, że jeden z komputerów został skonfigurowany do logowania jako "sa" zamiast zamierzonego użytkownika. Zapytanie trafiało bezpośrednio do tabeli, gdy zamierzaliśmy ją wyświetlić. Dzięki za pomoc w nauce o sys.columns
dobrze pierwszych rzeczy, po pierwsze, należy zawsze określić kolumny i nie używać SELECT *, a następnie może kontrolować to – Taryn
jest w kolejności w jakiejkolwiek kolejności, jaką zdefiniujesz podczas tworzenia tabeli – Devjosh
@ bluefeet i innych, nie jest to kwestią najlepszej praktyki. To kwestia ciekawości, w jaki sposób SQL Server podejmuje pewne decyzje. – Yuck