Kuidas vältida konkurentsiprobleeme teise tabeli andmete kontrollimisel? Kui andmebaasioperatsiooni lepingus on näiteks kirjas eeltingimus, et uus kauba seisund peab olema aktiivne, siis selle eeltingimuse täidetust saab kontrollida operatsiooni käigus. Eelistada tuleks EXISTS alampäringut, kus on määratud FO... PostgreSQLOraclelukustaminejagatud lukkeksklusiivne lukkFOR UPDATEFOR SHAREpgbench 09.12.2025 19:24:00 | Erki Eessaar
Kuidas tagada andmebaasioperatsiooni realiseerivas rutiinis, et operatsiooni järeltingimused saavutatakse vaid siis, kui kõik eeltingimused on täidetud? Lepingprojekteerimise (design by contract) kohaselt kirjeldatakse tarkvaraelement kasutades eeltingimusi, järeltingimus... lepingprojekteerimineeeltingimusedjäreltingimusedinvariandidtrigeridkitsendusedrutiinid 21.12.2024 19:25:12 | Erki Eessaar
Kas PostgreSQLis peaks vaate alampäringus kasutama SELECT ... FOR UPDATE? Ei! Tõsi on see, et PostgreSQLis saab erinevalt Oraclest (12.1) vaate alampäringus kasutada SELECT ... FOR UPDATE. lukustaminevaadePostgreSQLeksklusiivne lukktrigertrigeridalampäringPostgreSQLvaatedlukustamineSELECT FOR UPDATEtransaktsioonid 12.12.2022 10:37:38 | Erki Eessaar
Kas ja miks peab rutiinis või trigeris kasutama SELECT ... FOR UPDATE? Kas ... FOR UPDATE on vajalik sõltub kõigepealt kasutatavast andmebaasisüsteemist. PostgreSQLis ja Oracles on SELECT ... FOR UPDATE vaja kasutada siis, kui teete trigeri protseduuris või lihtsalt rutiinis mingi tingimuse kontrolliks päringu (SELECT l... trigerrutiinlukustaminePostgreSQLOraclelukustaminetrigeridrutiinidSELECT FOR UPDATEkonkurentsjuhtimine 01.06.2022 00:00:00 | Erki Eessaar
Millised on PostgreSQLi ja Oracle eelised võrreldes üksteisega? Vastus peegeldab õppejõu isiklikku seisukohta, puudutab eeskätt andmebaaside programmeerimist ning välja toodud nimekirjad pole kaugeltki mitte ammendavad. Punktid ei ole tähtsuse järjekorras - erinevatele inimestele ja erinevates olukordades on täht... PostgreSQLOraclevõrdluseelisedlitsentsiminefunktsionaalsusSQL standard 01.06.2022 00:00:00 | Erki Eessaar