oracle判断字段为空时选用别的字段_如何动态判断一个表的多个字段值是否为空...

问题解决:

--循环每一列

FOR cc IN (SELECT utcs.Column_NAME

FROM User_Tab_Columns utcs

WHERE utcs.TABLE_NAME = UPPER('cux_items_temp1')) LOOP

L_Curr_Col_Name := cc.Column_name;

--循环每一行

FOR L_Loop_Number IN 2..L_Total_Rows+1 LOOP

--如果为空替换为######

L_Exec_Sql :=  'SELECT DECODE('||L_Curr_Col_Name||',null,''######''),b.line1 FROM (SELECT '

||L_Curr_Col_Name||',a.line line1 FROM cux_items_temp1 a WHERE ROWNUM

||L_Loop_Number||' ORDER BY a.line DESC) b WHERE ROWNUM =1';

--读取出当前的行列交集的值和行号

L_Curr_Col_Value := NULL;

L_Curr_Line      := NULL;

EXECUTE IMMEDIATE L_Exec_Sql

INTO L_Curr_Col_Value,L_Curr_Line;

--

IF(L_Curr_Col_Value='######') THEN

--输出日志,定位错误信息

L_Msg_Flag :=L_Msg_Flag+1;

wl_iface_pkg.to_log('Message '||to_char(L_Msg_Flag)||':Row:'

||to_char(L_Loop_Number-1)||' Column:'

||to_char(L_Curr_Col_Name)||' is null,please check!',2,'*');

END IF;

END LOOP;

END LOOP;

COMMIT;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值