sql >> Databáze >  >> RDS >> Oracle

Jak nastavit parametry dotazu pomocí jednoduchých uvozovek

Parametr s názvem [to] neexistuje, protože jste vložili :to mezi jednoduchými uvozovkami. Použijte :to místo ':to' .

Jak bylo řečeno, stejně to nebude fungovat. Čelil jsem opravdu podobnému problému a po několika hodinách jsem konečně našel řešení, které uvádím v odpovědi zde . Z nějakého důvodu, když interval přichází do hry vkládání parametrů nefunguje tak, jak byste očekávali.

Vzhledem k závěru z výše uvedeného odkazu - věřím, že by to mělo fungovat:

@Transactional(propagation = Propagation.REQUIRES_NEW)
@Modifying
@Query(value = "UPDATE transactionlog SET transactionstatus= :ps,
       startedat = CURRENT_TIMESTAMP, 
       readytoprocessat= (CURRENT_TIMESTAMP + (( :to ) || 'second')\\:\\:interval)
       WHERE logid IN (:li) ",nativeQuery = true)
public Integer reserve(@Param("ps") short processingStatus, @Param("li") List<Integer> logIdList, @Param("to") int timeOut);


  1. Query funguje na Oracle 11g, ale selže na Oracle 8i

  2. Upozornění:Použití nedefinované konstanty

  3. Django nemůže zrušit databázi:psycopg2.OperationalError:nelze zrušit aktuálně otevřenou databázi

  4. chyba při převodu varchar na float