如何获取SQL中的所有表和列名?
如何在SQL中获取所有表和列名?
使用OBJECT CATALOG VIEWS:
SELECT T.name AS Table_Name , C.name AS Column_Name , P.name AS Data_Type , P.max_length AS Size , CAST(P.precision AS VARCHAR) + '/' + CAST(P.scale AS VARCHAR) AS Precision_Scale FROM sys.objects AS T JOIN sys.columns AS C ON T.object_id = C.object_id JOIN sys.types AS P ON C.system_type_id = P.system_type_id WHERE T.type_desc = 'USER_TABLE';
使用INFORMATION SCHEMA VIEWS:
SELECT TABLE_SCHEMA , TABLE_NAME , COLUMN_NAME , ORDINAL_POSITION , COLUMN_DEFAULT , DATA_TYPE , CHARACTER_MAXIMUM_LENGTH , NUMERIC_PRECISION , NUMERIC_PRECISION_RADIX , NUMERIC_SCALE , DATETIME_PRECISION FROM INFORMATION_SCHEMA.COLUMNS;
摘自这个答案:
你有更好的解决方案吗?
我不使用squirrel,所以我没有解决方案。但是重点是不要发布一个对问题没有用处的查询作为答案,因为对于提问者来说是没有用的。