Oracle使用select和values INSERT INTO

时间:2013-11-15 20:28:13

标签: sql oracle

我正在尝试从select语句和一些硬编码值中将一些值插入到表中,但我不确定语法是什么。当我尝试时,我得到一个错误,说没有足够的值,所以我知道它没有正确读取我的选择语句。任何帮助表示赞赏。

insert into INSERT_STG
values(
  (select code,
          acct,  
          to_char(sysdate, 'mmddyy'),
          amt      
  from schema.table),
  'Partners',
  'city',
  'st',
  'Y',
  null,

);

2 个答案:

答案 0 :(得分:6)

insert into INSERT_STG
  (select code,
          acct,  
          to_char(sysdate, 'mmddyy'),
          amt ,
  'Partners',
  'city',
  'st',
  'Y',
  null
  from schema.table);

问题:

  • null后有额外的逗号
  • 您无法像您一样将硬编码值和选择值组合在一起。硬编码值必须作为选择的一部分生成。

这应该是假设:INSERT_STG在schema.table中按照select和string的顺序有9列数据类型,并在最后一列支持null。

答案 1 :(得分:1)

删除“values”行并确保插入与INSERT_STG表相同的值。否则,显式指定要插入的目标表的列。