700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Oracle 创建视图View 报错“ORA-12704: character set mismatch” 使用union语句

Oracle 创建视图View 报错“ORA-12704: character set mismatch” 使用union语句

时间:2019-02-21 23:28:26

相关推荐

Oracle 创建视图View 报错“ORA-12704: character set mismatch” 使用union语句

原因:(''默认的是VARCHAR2,与NVARCHAR2不匹配)

表1有字段:LEGAL_PERSON NVARCHAR2(32)

表2无此字段 union时用''代替

解决办法:

使用cast()将字符集转换为相同

--oc.legal_person, -- 法人

cast(oc.legal_person as NVARCHAR2(32)) legal_person, -- 法人

--'' legal_person, -- 法人

cast('' as NVARCHAR2(32)) legal_person, -- 法人

成功实例

--“组织管理”视图oms_company_department_v

create or replace view oms_company_department_v as

select

ANIZATION_ID,

ANIZATION_CODE,

ANIZATION_NAME,

ANIZATION_PARENT_ID,

ANIZATION_PARENT_NAME,

ANIZATION_TYPE,

a.ENABLED_FLAG,

a.legal_person,

a.customed,

a.parent_id_path,

a.parent_name_path,

a.depts_company,

(select count(1)from

(select pany_id organization_id,

oc.parent_id organization_parent_id -- 父ID

from oms_company oc

where oc.enabled_flag = 1

union all

select od.department_id organization_id, -- ID

od.parent_id organization_parent_id -- 父ID

from oms_department od

where od.enabled_flag = 1) b

where anization_id = anization_parent_id) has_child

from (select pany_id organization_id, -- ID

pany_code organization_code, -- 编码

pany_name organization_name, -- 名称

oc.parent_id organization_parent_id, -- 父ID

(select pany_name from oms_company t where pany_id=oc.parent_id) organization_parent_name, -- 父名称

1 organization_type, -- 类型 1:代表单位 0 :代表部门

--oc.legal_person, -- 法人

cast(oc.legal_person as NVARCHAR2(32)) legal_person, -- 法人

oc.enabled_flag,

oc.customed,

oc.parent_id_path,

oc.parent_name_path,

null depts_company

from oms_company oc

where oc.enabled_flag = 1

union all

select od.department_id organization_id, -- ID

od.department_code organization_code, -- 编码

od.department_name organization_name, -- 名称

od.parent_id organization_parent_id, -- 父ID

(select t.department_name from oms_department t where t.department_id=od.parent_id) organization_parent_name, -- 父名称或者其上级单位名称

0 organization_type, -- 类型 1 :代表单位 0 :代表部门

--'' legal_person, -- 法人

cast('' as NVARCHAR2(32)) legal_person, -- 法人

od.enabled_flag,

od.customed,

od.parent_id_path,

od.parent_name_path,

pany_id depts_company

from oms_department od

where od.enabled_flag = 1) a;

参考文献:

/baidu_37107022/article/details/81259319

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。