SQL错误:ORA-00923:找不到预期的位置00923的FROM关键字。00000-“找不到预期的FROM关键字”

时间:2019-02-20 06:25:27

标签: sql oracle

查询

INSERT INTO cube_pivoted_rpt_metadata 
SELECT analytics_type, 
       scn_name, 
       column_name, 
       column_index, 
       base_scn_name, 
       AS_OF_DATE=To_date('20181031', 'yyyymmdd'), 
       dataset_Id=1, 
       scn_id, 
       sim_type 
FROM   cube_pivoted_rpt_metadata 
WHERE  dataset_id = 1 
       AND as_of_date = To_date('20181231', 'yyyymmdd') 
       AND analytics_type = 'CTC'; 

2 个答案:

答案 0 :(得分:1)

两个错误,两个反对意见:

  • =SELECT的无效使用(两次)
  • 在从表中选择常量时,您不必使用常量(TO_DATE的值和1
  • 总是命名您要插入的所有列。

INSERT INTO cube_pivoted_rpt_metadata
  (analytics_type, scn_name, column_name, column_index,     --> put the whole 
   base_scn_name, as_of_date, dataset_id, scn_id, sim_type  --> column list here
  ) 
SELECT analytics_type, 
       scn_name, 
       column_name, 
       column_index, 
       base_scn_name, 
       as_of_date,        --> use column names as you've used them in WHERE  
       dataset_id,        --> clause anyway
       scn_id, 
       sim_type 
FROM   cube_pivoted_rpt_metadata 
WHERE  dataset_id = 1 
       AND as_of_date = To_date('20181231', 'yyyymmdd') 
       AND analytics_type = 'CTC'; 

答案 1 :(得分:0)

尝试使用列别名代替=,如下所示登录select列表

INSERT INTO cube_pivoted_rpt_metadata 
SELECT analytics_type, 
       scn_name, 
       column_name, 
       column_index, 
       base_scn_name, 
       To_date('20181031', 'yyyymmdd') as AS_OF_DATE, 
       dataset_Id=1, 
       scn_id, 
       sim_type 
FROM   cube_pivoted_rpt_metadata 
WHERE  dataset_id = 1 
       AND as_of_date = To_date('20181231', 'yyyymmdd') 
       AND analytics_type = 'CTC';