Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да зададете параметри на заявка с единични кавички

Параметър с име [to] не съществува, защото сте поставили :to между единични кавички. Използвайте :to вместо ':to' .

Като се има предвид това, това така или иначе няма да работи. Сблъсках се с наистина подобен проблем и след няколко часа най-накрая намерих решение, което представям в отговор тук . По някаква причина, когато interval влиза в действие инжектирането на параметри не работи както бихте очаквали.

Имайки предвид заключението от връзката по-горе - вярвам, че това трябва да работи:

@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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да изпълним ПЪЛНО ВЪНШНО СЪЕДИНЯВАНЕ в ORACLE с помощта на оператор "+"?

  2. Какво не е наред с инсталирането на php oracle клиент oci8

  3. Създаване на нова база данни и нова връзка в Oracle SQL Developer

  4. Запитване на няколко NEXTVAL от последователност в един израз

  5. Защо има максимална дължина за имена на запомнени процедури?