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
);
我有一个插入语句,它的所有值都来自局部变量或文字常量:
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
);