Полезные запросы Teradata

21 апреля 2021, SQL, Konstantin

Пополняемый список полезных запросов Teradata, которые могут пригодиться в работе.

Поиск представлений, использующих искомую таблицу:

SELECT *
FROM dbc.tablesv tbl
WHERE 1=1
      AND tbl.RequestText LIKE '%table@_namet%' escape '@'
      AND tbl.Tablekind IN ('V');

Поиск представлений, с искомым полем/столбцом:

SELECT DatabaseName,    TableName
FROM dbc.columnsv tbl
WHERE ColumnName = 'column_name';

Поиск всех таблиц, созданных пользователем и их размер:

SELECT
    tbl.DatabaseName
    ,CAST(tbl.TABLENAME AS VARCHAR(100)) AS "TableName"
    ,tbl.CreatorName
    ,SUM(tsize.currentperm) / 1024**3 AS PermSizeGb --Размер таблицы в Гб
    ,MAX(tsize.currentperm) / AVG(tsize.currentperm) (DECIMAL (18, 2)) AS SkewRatio
    ,MAX(tsize.currentperm/1024**3) AS BytesUsedTopAMPGb
    ,MIN(tbl.CreateTimeStamp) AS CreateTimeStamp
    ,MIN(tbl.LastAlterTimeStamp) AS LastAlterTimeStamp
    ,MAX(tbl.LastAccessTimeStamp) AS LastAccessTimeStamp
FROM dbc.tablesv tbl
  JOIN dbc.tablesizev tsize
     ON tbl.TABLENAME = tsize.TABLENAME
   AND tbl.Databasename = tsize.Databasename
   AND tbl.Tablekind IN ('T','O')
WHERE 1 = 1
    AND tbl.databasename = 'database_name' 
    AND tbl.CreatorName   =  'User_Login'
GROUP BY 1, 2, 3
ORDER BY PermSizeGb DESC;

Поиск всех пользователей, имеющих права доступа к таблице из рассматриваемой Базы данных:

SELECT * FROM dbc.allrights
WHERE DatabaseName = 'Data_Base'
AND TableName = 'Table_Name';
Теги:
 

Комментировать