我試圖在SQL服務器中獲取列類型。我知道這工作得很好:使用全表路徑名獲取列類型
SELECT DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'table_name' and COLUMN_NAME = 'column_name';
不過,這並不與
SELECT DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = '[database_name].[dbo].[table_name]' and COLUMN_NAME = 'column_name';
這是一個存儲過程,在不同的數據庫,我想是能夠的一部分工作通過它完整的路徑名稱,以便它可以從我所處的任何數據庫運行。
表名只是沒有模式和數據庫的名稱。你通常不能做你想做的事情,因爲'INFORMATION_SCHEMA'是在一個數據庫(而不是服務器)內。 'OBJECT_ID'可能會有所幫助。 –
您需要從數據庫中查詢'INFORMATION_SCHEMA.COLUMNS'視圖:'FROM database_name.INFORMATION_SCHEMA.COLUMNS WHERE ....' – Lamak