UPSERT na tabela com o nome da tabela dinâmica

Qualquer método melhor para UPSERT em uma tabela, desde que:

Data upsert a ~ 1 linha / segundoNome da tabela é DINÂMICO, gerado usando o parâmetro ObjectID passado para ele

O SEGUINTE PROCEDIMENTO: "ORA-00942: a tabela ou a exibição não existe"

CREATE OR REPLACE PROCEDURE
PROCEDURE "SPINSERTDATA"
(
  pObjectID IN RAW,
  pDateTime IN TIMESTAMP,
  pValue IN BINARY_DOUBLE,
)
AS
BEGIN
  Declare
    vQueryInsert VARCHAR2(1000);
    vQueryUpdate VARCHAR2(1000);
    vTableName VARCHAR2(30);
  Begin      
      vTableName := FGETTABLENAME(POBJECTID => pObjectID);
      vQueryUpdate := 'UPDATE '      || vTableName || ' SET "VALUE" = :1';
      vQueryInsert := 'INSERT INTO ' || vTableName || ' ("DTTIME", "VALUE") VALUES (:1, :2)';

      EXECUTE IMMEDIATE vQueryInsert USING pDateTime, pValue;
        EXCEPTION
          WHEN DUP_VAL_ON_INDEX THEN 
            EXECUTE IMMEDIATE vQueryUpdate USING pValue;
  End;
END "SPINSERTDATA";
Aparentemente, o MERGE não funciona, pois o TableName não pode ser dinâmico ??? Sou novato, no meu terceiro mês de codificação, vasculhei o STACKOVERFLOW & pesquisei no Google por 3 dias, tentando todo tipo de soluções engraçadas e desesperadas ... Mesmo um link muito relevante se você encontrasse um seria honestamente apreciado.

questionAnswers(3)

yourAnswerToTheQuestion