sql >> Database >  >> RDS >> Oracle

Oracle voegt automatisch record in multirecord-blokdeel 2 in

DUPLICATE_RECORD is een beperkte procedure en u kunt deze niet gebruiken in WHEN-VALIDATE-RECORD trigger (of een andere van dezelfde soort).

Omdat je naar het volgende record moet navigeren (als je het wilt kopiëren), zelfs als je die beperkte procedure plaatst naar een andere PL/SQL-programma-eenheid, zal alles zich gewoon propageren en - uiteindelijk - dezelfde fout opwerpen. Dus ... je hebt pech.

Zelfs als je een (opgeslagen) procedure zou schrijven die die "Jr"-rij ergens achter de schermen in de database zou invoegen, zou je die waarden naar het scherm moeten halen. Als EXECUTE_QUERY is de manier om het te doen, en aangezien het (weer een andere) beperkte procedure is, zal dat ook niet werken.

Als je van plan was om het datablok te wissen en het handmatig te vullen (met behulp van een lus), zou je naar de volgende (en volgende, en volgende) record moeten navigeren met NEXT_RECORD , en dat is weer een niet-openbare procedure. Trouwens, als het een datablok was (en ja, dat is het), zou je eigenlijk duplicaten maken voor alle records zodra u de wijzigingen zou opslaan, dus ofwel zou het mislukken met schending van de unieke beperking (wat goed is), of u zou duplicaten maken (wat erger is).

BTW wat is er mis met WHEN-NEW-RECORD-INSTANCE ? Welke problemen ondervindt u bij het gebruik ervan?



  1. Python - MySQL-index automatiseren:parameter doorgeven

  2. PHP:Star rating systeemconcept?

  3. Hoe upload je meerdere csv-bestanden naar de mysql-database met jsp en servlet?

  4. Verschil tussen mysql &mysqli