大家以前写sql写func的时候习惯性会用from dual
来进行测试,dual表在传统数据库中是一个“神秘”的表,网上有很多网友都对该表进行了测试,该表只有一行一列,其实该表和系统中的其他表一样。
发现odps项目里没有, 然后就手动建了个表。
看上去没啥问题, 我后来运行任何函数, 都没有任何返回值, 我就纳闷了,怎么啥都不对, 后来经高人提点, 是不是你手动建的dual表里没内容,我突然间恍然大悟, 遂了一条数据到第一行中, 再次运行,就有值了。
所以这里也提醒大家:
Func的运行, 表里至少要有一条数据。
Func的运行, 表里至少要有一条数据。
Func的运行, 表里至少要有一条数据。
重要的事情一定要说三遍!!!
-- 删除表
DROP TABLE IF EXISTS dual;
-- 创建表
CREATE TABLE IF NOT EXISTS dual (
value BIGINT COMMENT 'value'
)
COMMENT 'dual';
-- 插入一条数据
INSERT OVERWRITE TABLE dual
SELECT COUNT(*)
FROM dual;
时间: 2024-11-01 02:39:42