我想獲得最大值MAX (ID)爲包含在我的DB 「Table_Example」和特定的一個模式名ID的每個表我對每個表(ID)。最大數據庫
單個例如:
SELECT MAX(ID) FROM Schema_name.Table_name1
此檢索位於Table_name1最大ID值,但是我有84個表。我想知道每個表的最大值只在一列中。 這是我目前正在使用的代碼: 我正在使用information_schema.columns來自動獲取表的名稱以及每個表所屬的模式,以便將整個DB ID 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」? –
你只是試圖獲得每個表中的標識/索引列的最大值? –
@JohnPasquet,但你設法發佈一個答案..給OP一些時間。並非所有人都在此時 –