-4083:引用列未找到

-4083:引用列未找到

场景一:特定版本中存在,原因为:不同类型的列进行合并查询

构造案例如下:

--创建测试表
create table TEST(A INT,B VARCHAR2(50));
INSERT INTO TEST VALUES(1,6201);
create table TEST1(A INT,B VARCHAR2(50));
INSERT INTO TEST1 VALUES(2,6202);
--创建测试视图
CREATE OR REPLACE VIEW TEST_VIEW AS 
SELECT * FROM
(SELECT A,''  B FROM TEST
UNION ALL
SELECT A,B FROM TEST1);
--复现
SELECT * FROM TEST_VIEW WHERE B ='6201'
此时查询提示-4083:引用列未找到

解决方案

调整代码格式或使用最新版代码数据库版本:

--调整代码如下:
SELECT * FROM
(SELECT A,cast('' as varchar2(50)) B FROM TEST
UNION ALL
SELECT A,B FROM TEST1);
SELECT * FROM TEST_VIEW WHERE B ='6201'

原创文章,作者:lzb,如若转载,请注明出处:https://www.wlkjzx.com/2023/02/13/dm_-4083_%e5%bc%95%e7%94%a8%e5%88%97%e6%9c%aa%e6%89%be%e5%88%b0/

(1)
打赏 微信扫一扫 微信扫一扫
lzblzb
上一篇 2024年11月11日
下一篇 2023年6月24日

相关推荐

发表回复

登录后才能评论