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

Har brug for hjælp til at udføre øjeblikkelig opdateringsforespørgsel

Jeg formoder, at col_id er den primære nøgle. Så i opdateringserklæringen

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

du opdaterer altid højst en række og dermed betingelsen

SQL%ROWCOUNT > 1

er aldrig sand (1 er ikke> 1)

Så hvis du ikke har nogen anden forpligtelseserklæring i din procedure, vil du aldrig forpligte dig til disse opdateringer.

Forresten:hvad er formålet med denne

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

hvorfor forpligter du dig ikke bare i slutningen af ​​dit arbejde?



  1. Hvad er ækvivalent sætning af DBCC INPUTBUFFER(@@SPID)(som giver sql-sætning for nuværende forbindelse eller specificeret forbindelse) i MYSQL?

  2. MySQL HVOR:hvordan skriver man !=eller ikke lig?

  3. vælg * fra tabel vs vælg colA, colB osv. fra tabel interessant adfærd i SQL Server 2005

  4. Ændring af datatype for en kolonne, der refereres til af andre tabeller