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

Нуждаете се от помощ за изпълнение на заявка за незабавно актуализиране

Предполагам, че col_id е първичният ключ. Така че в изявлението за актуализиране

EXECUTE IMMEDIATE 'UPDATE  ' || dest || ' SET COUNTRY_CODE = :v1 WHERE col_id = :v2'
          USING l_vc_CountryCode, l_vc_ColId;

вие винаги актуализирате най-много един ред и следователно условието

SQL%ROWCOUNT > 1

никога не е вярно ( 1 не е> 1 )

Така че, ако нямате друг израз за ангажиране във вашата процедура, никога няма да ангажирате тези актуализации.

Между другото:каква е целта на това

if SQL%ROWCOUNT > 1 THEN
          inserts := inserts + 1;
          counter := counter + 1;
          IF counter > 500 THEN
            counter := 0;
            COMMIT;
          END IF;
        END IF;

защо просто не се ангажираш в края на работата си?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Групиране по ID с изключение на NULL записите

  2. SQL Server еквивалент на Oracle „CONNECT BY PRIOR“ и „ORDER SIBLINGS BY“

  3. Oracle SQL Автоматично генериран първичен ключ за идентичност

  4. Функцията CURRENT_TIMESTAMP на Oracle наистина ли е функция?

  5. Относно елемента формат V в Oracle