我试图将数据插入到daily_stats表中,该表有以下行
submission_date
message_class
channel
data_centre
line_of_business
submission_vol在Payld_Data.Received_Messages表中,但我希望我的脚本仅在该脚本运行的当天为消息在每日中插入数据
我在下面写了一些东西,但我如何添加日期,以便它只添加到每天收到的消息?
insert into daily_stats values (trunc(submission_date), Message_Class, Channel, data_centre, Line_Of_Business, submission_vol(*))
Select trunc(A.submission_date), A.Message_Class, A.Channel, A.Data_Centre, B.Line_Of_Business, submission_vol(*)
From Payld_Data.Received_Messages A, Recon_Data.Reconciliation_Control B
Where A.Conversation_Id = B.Conversation_Id
group by Trunc(A.Creation_Timestamp), A.Message_Class, A.Channel, A.Data_Centre, B.Line_Of_Business;发布于 2018-07-05 12:58:15
我在这里猜测,由于您的问题并不十分清楚,您的Submission_Date应该是当前日期(运行此INSERT语句的日期)。如果是这样的话,那么下面的操作应该是有效的:
insert into daily_stats (submission_date, Message_Class, Channel, data_centre, Line_Of_Business, submission_vol(*))
Select CURRENT_DATE, A.Message_Class, A.Channel, A.Data_Centre, B.Line_Of_Business, submission_vol(*)
From Payld_Data.Received_Messages A, Recon_Data.Reconciliation_Control B
Where A.Conversation_Id = B.Conversation_Id
group by Trunc(A.Creation_Timestamp), A.Message_Class, A.Channel, A.Data_Centre, B.Line_Of_Business;这里的大变化是
CURRENT_DATE获取当前日期INSERT INTO <table> (List, Of, Fields)格式是写这个的正确方式,注意在字段列表之前没有VALUE。TRUNC()函数,因为这纯粹是一个字段列表,不允许转换/逻辑。它位于查询的SELECT部分,您可以在其中执行Trunc()和其他逻辑。INSERT部分只用于指定要插入哪个表和要插入哪个字段(以及它们的顺序)。您可以查看手册中的页的Insert... Select语句,以查看正确的语法。
https://stackoverflow.com/questions/51188906
复制相似问题