sql >> Database teknologi >  >> RDS >> Oracle

Sådan indstilles forespørgselsparametre med enkelte anførselstegn

Parameter med navnet [to] eksisterer ikke, fordi du har sat :to mellem enkelte citater. Brug :to i stedet for ':to' .

Når det er sagt, så vil dette alligevel ikke virke. Jeg stod over for et lignende problem, og efter nogle timer fandt jeg endelig en løsning, som jeg præsenterer som svar her . Af en eller anden grund, når interval kommer i spil indsprøjtning af parametre virker ikke, som du ville forvente.

I betragtning af konklusionen fra linket ovenfor - tror jeg, at dette burde virke:

@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. hvordan man giver tal til forekomst i sql

  2. Hvordan man manuelt opdaterer statistikdata for tabeller i PostgreSQL

  3. Er der en måde at bruge ARRAYs i Entity Framework + PostgreSql

  4. Tabelværdiparameter i lagret procedure og enhedsrammen 4.0