一、请把以下SQL语句改成hive语法。 truncate table rptdev.rpt_wjq_jf_value_dhfz_list; commit work; message DATEFORMAT(NOW(),'YYYYMMDD HH:NN:SS') || 'execute:' || @@ROWCOUNT || ' pieces' type info to client; insert into rpt_wjq_jf_value_dhfz_list( cust_id,cust_name,price,gift_code,gift_name ) select cust_id,cust_name,price,gift_code,gift_name --into rpt_wjq_jf_value_dhfz_list from zwfxdev.TB_COMM_CM_INT_USE_GIF_ALL where convert(date,change_date) >= @month_first_date and convert(date,change_date) <= @stat_date; commit work; message DATEFORMAT(NOW(),'YYYYMMDD HH:NN:SS') || 'execute:' || @@ROWCOUNT || ' pieces' type info to client; --alter table rpt_wjq_jf_value_dhfz_list add (acc_nbr varchar(21),cust_nbr varchar(30),subst_id numeric(18));commit; update rpt_wjq_jf_value_dhfz_list as a set a.acc_nbr = b.acc_nbr, a.cust_nbr = b.cust_nbr, a.subst_id = b.subst_id from rptdev.rpt_comm_cm_serv_cdma as b where a.cust_id = b.cust_id; commit work; message DATEFORMAT(NOW(),'YYYYMMDD HH:NN:SS') || 'execute:' || @@ROWCOUNT || 'pieces' type info to client;
时间: 2024-04-26 08:24:39 浏览: 167
Hive-SQL语法大全
在Hive中,TRUNCATE TABLE语句不可用,可以使用INSERT OVERWRITE语句删除表并插入新数据。
INSERT OVERWRITE TABLE rptdev.rpt_wjq_jf_value_dhfz_list
SELECT cust_id,cust_name,price,gift_code,gift_name
FROM zwfxdev.TB_COMM_CM_INT_USE_GIF_ALL
WHERE CAST(change_date AS DATE) >= @month_first_date
AND CAST(change_date AS DATE) <= @stat_date;
-- Hive不支持 commit work 和 message 语句
-- 修改表结构必须使用 ALTER TABLE 语句
ALTER TABLE rptdev.rpt_wjq_jf_value_dhfz_list ADD COLUMNS(acc_nbr STRING, cust_nbr STRING, subst_id INT);
-- 更新数据使用 UPDATE JOIN 语法
UPDATE rptdev.rpt_wjq_jf_value_dhfz_list a
SET a.acc_nbr = b.acc_nbr,
a.cust_nbr = b.cust_nbr,
a.subst_id = b.subst_id
FROM rptdev.rpt_comm_cm_serv_cdma b
WHERE a.cust_id = b.cust_id;
阅读全文