Wie kann ich am besten die Namen aller Tabellen in einer bestimmten Datenbank auf SQL Server ermitteln?
Bitte beachten Sie, dass dies auch VIEWS einschließt, nicht nur Tabellen.
Wie kann ich am besten die Namen aller Tabellen in einer bestimmten Datenbank auf SQL Server ermitteln?
SQL Server 2000, 2005, 2008, 2012, 2014, 2016, 2017 oder 2019:
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'
So zeigen Sie nur Tabellen aus einer bestimmten Datenbank an
SELECT TABLE_NAME
FROM [<DATABASE_NAME>].INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
Oder,
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
AND TABLE_CATALOG='dbName' --(for MySql, use: TABLE_SCHEMA='dbName' )
PS: Für SQL Server 2000:
SELECT * FROM sysobjects WHERE xtype='U'
Fügen Sie den Datenbanknamen hinzu, wenn Sie nicht die spezifische Datenbank verwenden, so dass es SELECT TABLE_NAME FROM <DATABASE_NAME>.INFORMATION_SCHEMA.Tables lautet
Hinzufügen von WHERE TABLE_TYPE='BASE TABLE'
nur Basistabellen einbezieht (und Sie könnten im weiteren Verlauf immer WHERE TABLE_TYPE != 'VIEW'
).
SELECT sobjects.name
FROM sysobjects sobjects
WHERE sobjects.xtype = 'U'
Hier finden Sie eine Liste anderer Objekttypen, nach denen Sie ebenfalls suchen können:
Das Aliasing ist ein wenig überflüssig: SELECT name FROM sysobjects WHERE xtype = 'U'
würde das Gleiche tun.
Danke, zunächst versuchte ich dies mit mehreren Select-Anweisungen für PK,FK,D,C,V,UQ
usw., um Quell- und Zieldatenbank zu vergleichen, aber dann fand ich este Funktion in VS, aber gibt es nicht eine sql query
um die komplette Quell- und Zieldatenbank zu vergleichen?
Man fragt sich, warum 'U'
wird verwendet, um die Benutzertabelle zu identifizieren... im Gegensatz zu vielleicht 'UT'
oder die intuitivste, 'T'
...Na gut, das funktioniert!
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
2 Stimmen
stackoverflow.com/questions/124205/
3 Stimmen
stackoverflow.com/questions/465014/liste-tabellennamen , stackoverflow.com/questions/420741/ , stackoverflow.com/questions/454986/
4 Stimmen
Hat
SHOW TABLES
(wie in MySQL verwendet) funktionieren?