可能重复:
UPSERT 到具有动态表名的表中
以下过程被声明为:
CREATE OR REPLACE
PROCEDURE STUFF(tableToQuery VARCHAR2) AS
BEGIN
MERGE INTO myTable m
USING (select * from tableToQuery) t
ON (m.id = t.id)
... --other stuff
END STUFF;
我收到一个 ORA-00903 错误,指出表名无效。我的问题是如何获取驻留在其中的值tableToQuery
以等同于 select 语句中的有效表名?假设我提前不知道表名。
更新
该函数现在可以编译,但是我目前在函数末尾收到未知关键字错误。