Ich versuche, den Maximalwert MAX (ID) für jede Tabelle Ich habe die ID auf meiner DB enthält zu erhalten „Table_Example“ und einen schema_name in bestimmten.Max (ID) jede Tabelle in einer Datenbank
Ein einziges Beispiel:
SELECT MAX(ID) FROM Schema_name.Table_name1
Das Abrufen der maximalen ID-Wert, der auf Table_name1 befindet, aber ich habe 84 Tabellen. Ich möchte das Maximum jeder Tabelle nur in einer Spalte wissen. Dies ist der Code, an dem ich gerade arbeite: Ich verwende information_schema.columns, um die Namen der Tabellen automatisch zu erhalten und das Schema, zu dem jede Tabelle gehört, um die gesamte DB IDs max (id) in einem zu erhalten Säule.
USE TABLE_EXAMPLE
GO
DECLARE @ID NVARCHAR(MAX) --int
SET @ID = (SELECT DISTINCT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'SCHEMA_NAME' AND COLUMN_NAME IN ('ID') AND DATA_TYPE = 'INT')
SELECT @ID FROM (SELECT ('SCHEMA_NAME'+'.'+TABLE_NAME) AS TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'SCHEMA_NAME' AND COLUMN_NAME = 'ID' AND DATA_TYPE='INT') AS W
Dieses Script abrufen falsche Daten, aber ich denke, ich bin ein bisschen um die Werte zu erhalten geschlossen, aber ich bin nicht sicher, was ich falsch mache. Kann mir jemand einen guten Ansatz geben? Oder eine bessere Option, um es zu erledigen?
Ist der Spaltenname 'ID' in jeder Tabelle? –
Versuchen Sie einfach, den Maximalwert der Spalte identity/index in jeder Ihrer Tabellen zu ermitteln? –
@JohnPasquet und doch hast du es geschafft, eine Antwort zu posten. Gib OP etwas Zeit. Nicht jeder ist die ganze Zeit auf SO –