Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Retrieving column and other metadata information in Teradata

Tags:

sql

teradata

I have a half dozen views in SQL Server that I need to replicate in Teradata, but I haven't been able to find the TD equivalent of the SQL metadata tables. I'd like to replicate the following functionality (which I assume is fairly self-explainatory):

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

I'd also like to know if there are any usable Teradata references online; everything I run across seems to be advertising rather than practical information.

like image 669
William Avatar asked Oct 21 '11 17:10

William


People also ask

How do I get information from a Teradata table?

You can use SHOW TABLE to display the table definition for a PTI table. The output includes the system generated TD_TIMEBUCKET, TD_TIMECODE, and TD_SEQNO columns for PTI Tables. For complete information about SHOW TABLE syntax, see Teradata Vantage™ SQL Data Definition Language Syntax and Examples , B035-1144.

How can I get column names and datatypes of a table in Teradata?

genrally we get column information by clicking on tools --->list columns in teradata to know the datatypes.


1 Answers

All Teradata system tables are stored under DBC schema.

For columns, it is dbc.columns

select * from dbc.columns

For views, it is dbc.tables with a filter on a column something named table_type 'V' (where V stands for Views)

select * from dbc.tables

I am not sure about how to get all functions in Teradata. Whoever knows it, please edit this answer.

In Teradata DBC.Tables contains many of the objects that exist on the system. (e.g. Stored Procedures, UDF, Triggers, Macros, Views, Tables, Hash Index, Join Index, etc.) The column Table Kind is used to identify the type of object.

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
like image 179
Lenin Raj Rajasekaran Avatar answered Jan 03 '23 13:01

Lenin Raj Rajasekaran