注册

编写的查询表字段信息数据库查询可以,但是通过 mybatis 查询存在很大问题

z 2024/11/04 271 4 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: 8
【操作系统】:linux 容器
【CPU】: xxx
【问题描述】*:
查询表字段英文,字段注释,主键标识,是否自增后,在 debeaver 中可以查询都正确的信息,但是通过 mybatis 查询,字段注释就为 null,并且原本主键标识为 Y 的,反而为 N,目前不确定是代码的问题还是某个地方的问题 ,sql 如下
SELECT
'Y' AS allowEdit,
utc.COLUMN_ID AS showOrder,
utc.DATA_TYPE AS inputBoxType,
CASE
WHEN uc.CONSTRAINT_TYPE = 'P' THEN 'Y'
ELSE 'N'
END AS primaryIdentity,
utc.TABLE_NAME AS dataSourceTable,
utc.COLUMN_NAME AS columnName,
ucc.COMMENTS AS columnZhName,
CASE
utc.DATA_TYPE
WHEN 'decimal' THEN 'decimal'
WHEN 'int' THEN 'int'
WHEN 'bigint' THEN 'bigint'
WHEN 'datetime' THEN 'datetime'
ELSE 'varchar'
END AS dataType,
CASE
WHEN tmp.INFO2 = 1 & 0x01 THEN 'Y'
ELSE 'N'
END AS isAutoIncrement,
CASE
WHEN utc.NULLABLE = 'Y' THEN 'Y'
ELSE 'N'
END AS isMayNull
FROM
user_tab_columns utc
LEFT JOIN user_col_comments ucc ON
utc.TABLE_NAME = ucc.TABLE_NAME
AND utc.COLUMN_NAME = ucc.COLUMN_NAME
LEFT JOIN USER_CONS_COLUMNS ucc2 ON
utc.TABLE_NAME = ucc2.TABLE_NAME
AND utc.COLUMN_NAME = ucc2.COLUMN_NAME
LEFT JOIN USER_CONSTRAINTS uc ON
uc.TABLE_NAME = utc.TABLE_NAME
AND uc.CONSTRAINT_NAME = ucc2.CONSTRAINT_NAME
LEFT JOIN (
SELECT
TAB.NAME AS TABLE_NAME
,
COL.NAME AS COLUMN_NAME,
COL.INFO2
FROM
SYSOBJECTS TAB
,
SYSCOLUMNS COL
WHERE
COL.ID = TAB.ID
AND TAB.TYPE$ = 'SCHOBJ'
AND TAB.SUBTYPE$ IN ('UTAB')
AND TAB.SCHID = CURRENT_SCHID) tmp ON
utc.TABLE_NAME = tmp.TABLE_NAME
AND utc.COLUMN_NAME = tmp.COLUMN_NAME
WHERE
utc.TABLE_NAME = 'mcm_data_loan'
ORDER BY
utc.COLUMN_ID ASC;

回答 0
暂无回答
扫一扫
联系客服