Получение информации о столбцах и других метаданных в 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.columns

select * from dbc.columns

Для представлений это dbc.tables с фильтром в столбце с именем table_type 'V' (где V обозначает Views)

select * from dbc.tables

Я не уверен, как получить все функции в Teradata. Кто бы это ни знал, отредактируйте этот ответ.

В Teradata DBC.Tables содержится много объектов, существующих в системе. (например, хранимые процедуры, 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