У меня есть SQL-запрос, который запрашивает огромное (как в, сотни представлений/таблиц с твердыми к чтению именами как CMM-CPP-FAP-ADD) база данных, в которой я не нуждаюсь, ни хочу понять. Результат этого запроса должен быть сохранен в таблице подготовки для питания отчета.
Я должен составить таблицу подготовки, но с сотнями представлений/таблиц для рытья до находки типов данных, которые представлены здесь я должен задаться вопросом, существует ли лучший способ создать эту таблицу.
Кто-либо может советовать, как я использовал бы какой-либо из инструментов SQL Server 2008 для предугадывания типов исходных данных в моей базе данных SQL 2000?
Как общий пример, я хочу знать от запроса как:
SELECT Auth_First_Name, Auth_Last_Name, Auth_Favorite_Number
FROM Authors
Вместо фактических результатов я хочу знать что:
Auth_First_Name is char(25)
Auth_Last_Name is char(50)
Auth_Favorite_Number is int
Я не интересуюсь ограничениями, я действительно просто хочу знать типы данных.
Я использую простой оператор выбора для рендеринга результатов, которые я могу использовать в документах технической спецификации. Этот пример не содержит каждое условие, с которым Вы столкнетесь с базой данных, но это дает Вам хороший шаблон для работы с.
SELECT
TABLE_NAME AS 'Table Name',
COLUMN_NAME AS 'Column Name',
CASE WHEN DATA_TYPE LIKE '%char'
THEN DATA_TYPE + '(' + CONVERT(VARCHAR, CHARACTER_MAXIMUM_LENGTH) + ')'
WHEN DATA_TYPE IN ('bit', 'int', 'smallint', 'date')
THEN DATA_TYPE
WHEN DATA_TYPE = 'datetime'
THEN DATA_TYPE + '(' + CONVERT(VARCHAR, DATETIME_PRECISION) + ')'
WHEN DATA_TYPE = 'float'
THEN DATA_TYPE
WHEN DATA_TYPE IN ('numeric', 'money')
THEN DATA_TYPE + '(' + CONVERT(VARCHAR, NUMERIC_PRECISION) + ', ' + CONVERT(VARCHAR, NUMERIC_PRECISION_RADIX) + ')'
END AS 'Data Type',
CASE WHEN IS_NULLABLE = 'NO'
THEN 'NOT NULL'
ELSE 'NULL'
END AS 'PK/LK/NOT NULL'
FROM INFORMATION_SCHEMA.COLUMNS
ORDER BY
TABLE_NAME, ORDINAL_POSITION
sp_describe_first_result_set
поможет определить типы данных запроса путем анализа типов данных первого набора результатов запроса