Получение столбца и другой информации метаданных в Teradata - PullRequest
8 голосов
/ 21 октября 2011

У меня есть полдюжины представлений в 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 Ответ

13 голосов
/ 21 октября 2011

Все системные таблицы 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
...