目前遇到了同个语句,在不同版本中执行效果不一致问题。
【DM版本】:dm8_single:dm8_20230808_rev197096_x86_rh6_64
【操作系统】:
【CPU】:
【其他配置】:
1. CASE_SENSITIVE=N
2. COMPATIBLE_MODE = 4
3. ENABLE_BLOB_CMP_FLAG = 1
【问题描述】*:执行获取字段信息时没有结果返回,也没有任何报错信息。
【语句示例】:
SELECT "a"."column_name", "data_type", decode(nullable, 'Y', 0, 1) AS "notnull", "data_default",
decode(a.column_name, b.bcn, 1, 0) AS "pk" FROM user_tab_columns a , (
SELECT column_name AS bcn
FROM user_constraints c, user_cons_columns col
WHERE c.constraint_name = col.constraint_name
AND c.constraint_type = 'P'
AND c.table_name = 'eo_admin'
) b WHERE "table_name" = 'eo_admin' and "a"."column_name" = bcn(+);
【效果如下】:
执行的是同个语句,表结构是一样的。
【DM版本】:dm8_single:v8.1.2.128_ent_x86_64_ctm_pack4
【其他配置】:
1. CASE_SENSITIVE=N
2. COMPATIBLE_MODE = 4
3. ENABLE_BLOB_CMP_FLAG = 1
【效果如下】:
没有报错信息,sql是没问题的,是不是没有这个表,或者用户不同导致的呢?user_xxxx表里的信息是所属当前用户的内容,不同用户看不到的,换成DBA_CONSTRAINTS,DBA_CONS_COLUMNS查询下试试呢