Czy możesz mi pomóc ramka kwerendy, która pobiera ograniczenia we wszystkich tabelach, liczba ograniczeń w każdej tabela, a także wyświetlanie wartości NULL dla tabel, które NIE mają żadnych ograniczeń. Z góry!SQL Server 2008 - Pobierz ograniczenia tabeli
To, co mam tak daleko:
Select SysObjects.[Name] As [Constraint Name] ,
Tab.[Name] as [Table Name],
Col.[Name] As [Column Name]
From SysObjects Inner Join
(Select [Name],[ID] From SysObjects) As Tab
On Tab.[ID] = Sysobjects.[Parent_Obj]
Inner Join sysconstraints On sysconstraints.Constid = Sysobjects.[ID]
Inner Join SysColumns Col On Col.[ColID] = sysconstraints.[ColID] And Col.[ID] = Tab.[ID]
order by [Tab].[Name]
Dzięki za pomoc marc, ale miałem nadzieję na kwerendę przy użyciu sysObjects sam. Czy istnieje sposób, aby dostosować moje zapytanie, aby uzyskać wymagane wyniki? – unos
W zapytaniu wyświetlane jest tylko pierwsze ograniczenie z pierwszej tabeli. –
@SteveStaple: nie, to nie ..... Używam tego cały czas - zawiera on ** wszystkie ** ograniczenia dla ** wszystkich ** tabel! Wypróbuj na AdventureWorks - otrzymuję 152 wiersze, a kilka tabel ma wiele ograniczeń, np. tabela "Pracownik" ma nie mniej niż sześć ograniczeń, z których wszystkie są pokazane ... –