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