Я пытаюсь получить максимальное значение MAX (ID) для каждой таблицы у меня есть, который содержит идентификатор на моей БД «Table_Example» и один имя_схемы в частности.Max (ID) каждой таблицы в базе данных
Один пример:
SELECT MAX(ID) FROM Schema_name.Table_name1
Это получить максимальное значение идентификатора, который расположен на Table_name1, но у меня есть 84 таблицы. Я хотел бы знать максимум каждой таблицы только в одном столбце. Это код, где я сейчас работаю: Я использую information_schema.columns, чтобы получить имена таблиц автоматически и схему, к которой принадлежит каждая таблица, чтобы получить все идентификаторы базы данных max (id) в одном колонка.
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
Этот скрипт получить неверные данные, но я думаю, что я немного закрыт, чтобы получить значения, но я не уверен, что я делаю неправильно. Может ли кто-нибудь дать мне хороший подход? Или любой лучший вариант, чтобы сделать это?
Является ли столбец «ID» в каждой таблице? –
Вы просто пытаетесь получить максимальное значение столбца identity/index в каждой из ваших таблиц? –
@JohnPasquet, и все же вам удалось опубликовать ответ. Дайте ОП некоторое время. Не все все время на SO –