sql >> Databasteknik >  >> RDS >> Oracle

Hur man ställer in frågeparametrar med enstaka citattecken

Parameter med namnet [to] existerar inte eftersom du sätter :to mellan enstaka citat. Använd :to istället för ':to' .

Som sagt, detta kommer inte att fungera ändå. Jag stod inför ett liknande problem och efter några timmar hittade jag äntligen en lösning som jag presenterar som svar här . Av någon anledning, när interval injicering av parametrar fungerar inte som du kan förvänta dig.

Med tanke på slutsatsen från länken ovan - jag tror att detta borde fungera:

@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. Infoga aktuellt datum/tid med now() i ett fält med MySQL/PHP

  2. Anslut python-appen till en databas med centos 7

  3. SQL - OM FINNS UPPDATERA ANNAT INSERT Syntaxfel

  4. Långsam postgres-fråga när du går med i stora tabeller