Получение столбца и другой информации метаданных в Teradata
У меня есть полдюжины представлений в SQL Server, которые мне нужно реплицировать в Teradata, но я не смог найти td-эквивалент таблиц метаданных SQL. Я хотел бы воспроизвести следующую функциональность (которая, как я предполагаю, довольно самоописательна):
select table_name, column_id ordinal_position, column_name,
data_type, char_length char_max_length,
data_precision numeric_precision, data_scale numeric_scale
from user_tab_columns
select name as FUNCTION_NAME
from sys.objects
where type_desc='SQL_SCALAR_FUNCTION'
select TABLE_NAME as VIEW_NAME
from INFORMATION_SCHEMA.VIEWS
Я также хотел бы знать, есть ли какие-либо полезные ссылки Teradata в интернете; все, с чем я сталкиваюсь, похоже, является рекламой, а не практической информацией.1 ответ:
Все системные таблицы Teradata хранятся в схеме DBC.
Для столбцов это dbc.столбцы
select * from dbc.columns
Для представлений это dbc.таблицы с фильтром по столбцу что-то с именем table_type 'V' (где V обозначает представления)
select * from dbc.tables
Я не уверен в том, как получить все функции в Teradata. Кто бы это ни знал, пожалуйста, отредактируйте этот ответ.
В Teradata DBC.Таблицы содержат множество объектов, существующих в системе. (например, хранимые процедуры, UDF, триггеры, макросы, представления, Таблицы, хэш-индекс, индекс соединения и т. д.) Тип таблицы столбцов используется для идентификации типа объекта.
SELECT * FROM DBC.TABLES WHERE TABLEKIND = '<see below>' A = Aggregate Function B = Combined Aggregate Function and ordered analytical function D = JAR E = External Stored Procedure F = Standard Function G = Trigger H = Instance or Constructor Method I = Join Index J = Journal M = Macro N = Hash Index O = No Primary Index (Table) P = Stored Procedure Q = Queue Table R = Table Function S = Ordered Analytical Function T = Table U = User-defined data type V = View X = Authorization Y = GLOP Set