2023-12-06 14:50:02 +08:00
|
|
|
--DM_DB_SCHEMAS 库schemas
|
2024-12-26 04:11:28 +00:00
|
|
|
SELECT
|
|
|
|
|
DISTINCT object_name as SCHEMA_NAME
|
|
|
|
|
FROM ALL_OBJECTS
|
|
|
|
|
WHERE OBJECT_TYPE = 'SCH'
|
2023-12-06 14:50:02 +08:00
|
|
|
---------------------------------------
|
|
|
|
|
--DM_TABLE_INFO 表详细信息
|
2023-12-13 21:42:06 +08:00
|
|
|
SELECT a.object_name as TABLE_NAME,
|
|
|
|
|
b.comments as TABLE_COMMENT,
|
|
|
|
|
a.created as CREATE_TIME,
|
|
|
|
|
TABLE_USED_SPACE(
|
|
|
|
|
(SELECT SF_GET_SCHEMA_NAME_BY_ID(CURRENT_SCHID)),
|
|
|
|
|
a.object_name
|
|
|
|
|
) * page() as DATA_LENGTH,
|
|
|
|
|
(SELECT sum(INDEX_USED_PAGES(id))* page()
|
|
|
|
|
FROM SYSOBJECTS
|
|
|
|
|
WHERE NAME IN (SELECT INDEX_NAME
|
2024-01-05 05:31:32 +00:00
|
|
|
FROM ALL_INDEXES
|
2023-12-13 21:42:06 +08:00
|
|
|
WHERE OWNER = 'wxb'
|
|
|
|
|
AND TABLE_NAME = a.object_name)) as INDEX_LENGTH,
|
|
|
|
|
c.num_rows as TABLE_ROWS
|
2024-01-05 05:31:32 +00:00
|
|
|
FROM all_objects a
|
|
|
|
|
LEFT JOIN ALL_TAB_COMMENTS b ON b.TABLE_TYPE = 'TABLE'
|
2023-12-13 21:42:06 +08:00
|
|
|
AND a.object_name = b.TABLE_NAME
|
|
|
|
|
AND b.owner = a.owner
|
2024-01-05 05:31:32 +00:00
|
|
|
LEFT JOIN (SELECT a.owner, a.table_name, a.num_rows FROM all_tables a) c
|
2023-12-13 21:42:06 +08:00
|
|
|
ON c.owner = a.owner AND c.table_name = a.object_name
|
|
|
|
|
WHERE a.owner = (SELECT SF_GET_SCHEMA_NAME_BY_ID(CURRENT_SCHID))
|
|
|
|
|
AND a.object_type = 'TABLE'
|
|
|
|
|
AND a.status = 'VALID'
|
2024-03-18 12:25:40 +08:00
|
|
|
{{if .tableNames}}
|
|
|
|
|
and a.object_name in ({{.tableNames}})
|
|
|
|
|
{{end}}
|
2024-03-15 09:01:51 +00:00
|
|
|
ORDER BY a.object_name
|
|
|
|
|
---------------------------------------
|
2023-12-06 14:50:02 +08:00
|
|
|
--DM_INDEX_INFO 表索引信息
|
2024-03-21 03:35:18 +00:00
|
|
|
select a.index_name as INDEX_NAME,
|
|
|
|
|
a.index_type as INDEX_TYPE,
|
|
|
|
|
case when a.uniqueness = 'UNIQUE' then 1 else 0 end as IS_UNIQUE,
|
|
|
|
|
indexdef(b.object_id, 1) as INDEX_DEF,
|
|
|
|
|
c.column_name as COLUMN_NAME,
|
|
|
|
|
c.column_position as SEQ_IN_INDEX,
|
|
|
|
|
'无' as INDEX_COMMENT
|
2024-01-05 05:31:32 +00:00
|
|
|
FROM ALL_INDEXES a
|
|
|
|
|
LEFT JOIN all_objects b on a.owner = b.owner and b.object_name = a.index_name and b.object_type = 'INDEX'
|
|
|
|
|
LEFT JOIN ALL_IND_COLUMNS c
|
|
|
|
|
on a.owner = c.table_owner and a.index_name = c.index_name and a.TABLE_NAME = c.table_name
|
2023-12-07 10:03:50 +08:00
|
|
|
|
2023-12-07 17:32:32 +08:00
|
|
|
WHERE a.owner = (SELECT SF_GET_SCHEMA_NAME_BY_ID(CURRENT_SCHID))
|
2024-03-21 03:35:18 +00:00
|
|
|
and a.TABLE_NAME = '%s'
|
|
|
|
|
and indexdef(b.object_id, 1) != '禁止查看系统定义的索引信息'
|
|
|
|
|
order by a.TABLE_NAME, a.index_name, c.column_position asc
|
2023-12-06 14:50:02 +08:00
|
|
|
---------------------------------------
|
|
|
|
|
--DM_COLUMN_MA 表列信息
|
2024-03-26 09:05:28 +00:00
|
|
|
select a.owner,
|
|
|
|
|
a.table_name as TABLE_NAME,
|
2023-12-13 15:11:26 +08:00
|
|
|
a.column_name as COLUMN_NAME,
|
|
|
|
|
case when a.NULLABLE = 'Y' then 'YES' when a.NULLABLE = 'N' then 'NO' else 'NO' end as NULLABLE,
|
2024-11-26 04:04:09 +00:00
|
|
|
case when t3.TYPE_NAME != '' then 'SYSGEO.' || UPPER(t3.TYPE_NAME) else a.DATA_TYPE end as DATA_TYPE,
|
2024-03-21 03:35:18 +00:00
|
|
|
a.char_col_decl_length as CHAR_MAX_LENGTH,
|
|
|
|
|
a.data_precision as NUM_PRECISION,
|
|
|
|
|
a.data_scale as NUM_SCALE,
|
2024-08-22 00:43:39 +00:00
|
|
|
b.COMMENT$ as COLUMN_COMMENT,
|
2023-12-13 15:11:26 +08:00
|
|
|
a.data_default as COLUMN_DEFAULT,
|
2024-03-26 09:05:28 +00:00
|
|
|
case when t.INFO2 & 0x01 = 0x01 then 1 else 0 end as IS_IDENTITY,
|
2024-03-21 03:35:18 +00:00
|
|
|
case when t2.constraint_type = 'P' then 1 else 0 end as IS_PRIMARY_KEY
|
2024-01-05 05:31:32 +00:00
|
|
|
from all_tab_columns a
|
2024-08-22 00:43:39 +00:00
|
|
|
left join SYSCOLUMNCOMMENTS b
|
|
|
|
|
on b.SCHNAME = (SELECT SF_GET_SCHEMA_NAME_BY_ID(CURRENT_SCHID))
|
|
|
|
|
and b.TVNAME = a.table_name
|
|
|
|
|
and a.column_name = b.COLNAME
|
2024-03-26 09:05:28 +00:00
|
|
|
left join (select c1.*, c2.object_name, c2.owner
|
|
|
|
|
FROM SYS.SYSCOLUMNS c1
|
|
|
|
|
join SYS.all_objects c2 on c1.id = c2.object_id and c2.object_type = 'TABLE') t
|
|
|
|
|
on t.object_name = a.table_name and t.owner = a.owner and t.NAME = a.column_name
|
2024-01-29 04:20:23 +00:00
|
|
|
left join (select uc.OWNER, uic.column_name, uic.table_name, uc.constraint_type
|
2024-04-12 07:53:42 +00:00
|
|
|
from all_ind_columns uic
|
|
|
|
|
left join all_constraints uc on uic.index_name = uc.index_name) t2
|
2024-03-26 09:05:28 +00:00
|
|
|
on t2.table_name = t.object_name and a.column_name = t2.column_name and t2.OWNER = a.owner
|
2024-11-26 04:04:09 +00:00
|
|
|
left join USER_TYPES t3 ON ('CLASS' || t3.TYPEID) = a.DATA_TYPE
|
2023-12-06 14:50:02 +08:00
|
|
|
where a.owner = (SELECT SF_GET_SCHEMA_NAME_BY_ID(CURRENT_SCHID))
|
|
|
|
|
and a.table_name in (%s)
|
2024-01-29 04:20:23 +00:00
|
|
|
order by a.table_name,
|
|
|
|
|
a.column_id
|