Oracle:如何插入到... select... 其中没有 table 被查询

Oracle: How to do an insert into... select... where there is no table being queried

我有一个插入语句,它的所有值都来自局部变量或文字常量:

    INSERT INTO SampleTestLimits 
    (AuditNumber 
    ,LimitNumber 
    ,ComponentRow 
    ,ComponentColumn
--etc
    ) 
    SELECT 1 
    ,varLimitNumber 
    ,varComponentRow 
    ,varComponentColumn
--etc
 ;

但问题是我得到一个错误 "Missing FROM"。

我猜这是因为没有 table 与 Select 关联,我尝试以

结束查询
FROM DUAL;

但这行不通(可能是因为 DUAL 是单行单列伪 table,我是这么理解的)。

我可以在 Sql 服务器中很容易地做到这一点,但我怎样才能在 Oracle 中实现我想实现的目标?

TIA。

如果您想从局部变量插入数据,您应该使用 VALUES 子句:

INSERT INTO SampleTestLimits 
  (AuditNumber 
  ,LimitNumber 
  ,ComponentRow 
  ,ComponentColumn
  --etc
  ) 
VALUES
  (1
  ,varLimitNumber 
  ,varComponentRow 
  ,varComponentColumn
  --etc
  );