You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle 19C视图创建后CHAR(12)变为VARCHAR的技术问询

问题:Oracle 19C视图中CHAR(12)字段被转换为VARCHAR类型

某Oracle 19C客户在创建视图时发现,原表定义为CHAR(12)的字段,在视图中被转换为VARCHAR类型,与开发工具模型的数据类型要求不符,引发问题。

当前交付的视图使用UNION ALL语句,已确认列完全对齐,且在我方测试环境创建视图时,对应字段数据类型保持为CHAR(12)。视图创建SQL如下:

CREATE OR REPLACE EDITIONABLE VIEW "ACV_AC_DOSE_ACT" ("EXPID", "DATE_IN", "DATE_OUT", "RWP_NUMBER", "REV_NUMBER", "DOSE_RATE", "ACCESS_TIME", "DDE_EDEX", "EDEX_FLAG", "SDE_SK", "ENTRY_STATION", "EXIT_STATION", "DRD_ID", "WORK_STEP_SEQ_NO", "WORK_DOC", "ESCORT_FLAG", "ESCORTED_BY") AS 
  select a.expid, a.date_in, a.date_out, a.rwp_number, b.rev_number, a.dose_rate, a.access_time, 
    a.dde, null, a.sde_sk, a.entry_station, a.exit_station, a.drd_id, b.work_step_seq_no, 
    b.work_doc, b.escort_flag, b.escorted_by
    from acd_active a
    LEFT JOIN acd_active_supl b 
    ON (a.expid = b.expid) and (a.date_in = b.date_in)
    AND NOT EXISTS
    (SELECT *
    FROM edd_mb_rca_active c
    WHERE c.expid = a.expid
    AND c.date_in = a.date_in
    )
UNION ALL
 select expid, date_in, date_out, rwp_number, rev_number, null, access_time, sum_of_edex, 'x',
        null, entry_station, exit_station, 'MB', work_step_seq_no, work_doc_no, escort_flag, 
        escorted_by
    from edd_mb_rca_active

已完成的排查与建议

  • 确认客户环境与我方测试环境字符集均为AL32UTF8
  • 建议客户先删除视图再重建,而非使用CREATE OR REPLACE替换操作
  • 若edd_mb_rca_active表无数据,建议先删除该表重建后再创建视图,目前正等待客户反馈

内容的提问来源于stack exchange,提问作者JCDeTurk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 04:47:04