ved at manipulere med data

oracle fremlægge data manipulation sprog har til at udøve data operationer i databasen. data kan fungere i databasen tabeller med anvendelsen eller virksomhedsoplysninger, ændring af data og fjerne de oplysninger fra databasen, når det kræves.ud over de oplysninger, der er fastsat af kommandoer operationer, som anvendes til at kontrollere disse foranstaltninger. disse kommandoer er grupperet som transaktion kontrol sprog.,, der er tre typer dml erklæringer, der er involveret i en logisk sql transaktion, nemlig at indsætte, ajourføring, sletning og fusionere. en transaktion er den logiske indsamling af dml aktioner inden for en database,.,, indsæt erklæring, indsæt kommando anvendes til at opbevare data i tabel.det indsatte genmateriale kommando anvendes ofte i højere programmeringssprog, såsom visuelle basic.net eller c + + som et indbygget sql kommando, men denne kommando kan også udføres på sql * og hurtig kommandoen mode. der er to forskellige former for indsæt kommando.den første form anvendes, hvis en ny række vil have en værdi, der indsættes i hver kolonne i rubrikken.den anden form for indsæt kommando anvendes til at indsætte rækker, hvor nogle af kolonnen data er ukendt eller misligholdt deres forpligtelser fra en forretningslogik. denne form for indsæt kommando, kræver, at de præcisere kolonne navne, for hvilke der er oplagret, syntaks:,, under syntaks kan følges, hvis værdier for alle kolonner i tabellen er klar og kendt. indsættes i tabel værdier (column1 værdi, column2 værdi, og. . .), nedenfor syntaks kan anvendes, hvis der kun få kolonne af tabellen skal udfyldes med en værdi.resten af kolonne kan udlede deres værdier, som enten retligt eller af en anden virksomhed logik., indsætte i tabel (column1 navn, column2 navn, og. . .) - værdier (column1 værdi, column2 værdi, og. . .);, indsæt erklæring under skaber en ny medarbejder rekord i ansatte.bemærk, at det fastlægger de værdier for de primære søjler employee_id, first_name, løn og department_id. indsættes i ansatte (employee_id, first_name, løn, department_id) - værdier (130, kemp, 3800, 10); ellers fuldstændig ansat data kan indsættes i den ansatte tabel uden angivelse af kolonne liste med under indsæt erklæring - forudsat at værdierne er kendt på forhånd, og skal være i overensstemmelse med de oplysninger, type og placering af kolonner i tabellen, indsætte i ansatte værdier (130, kemp,'garner, kemp. garner @ xxx. kom, 48309290, to_date ('01-jan-2012), salg "3.800, 0, 110, 10), værdier, der indsættes, skal være forenelige med de data, type af kolonnen.literals, faste værdier og særlige værdier som funktioner, sysdate, current_date, seq.currval (nextval), eller bruger kan anvendes som kolonne værdier.værdier, der skal følge de generelle regler.- literals og dato skal være lukket under citater.dato værdi kan leveres i dd-mon-rr eller d-mon-yyyy format åååå, er at foretrække, men da det klart angiver de århundrede og afhænger ikke af interne rr århundrede beregning logik.,, insert-as-select (ias) redegørelse, kan data blive befolket i mål - tabel fra kilden bord med indsæt... som... vælg (ias) operation.den direkte vej, læse operation. en enkel måde at skabe kopi af data fra et bord til en anden, eller at skabe en backup af bordet, som kilden tabel operationer er online. f.eks. data kan kopieres fra ansatte tabel til emp_history tabel. indsættes i emp_history udvælge employee_id, employee_name, løn, department_id fra ansatte, ajourføre erklæring, ajourføre kommando ændrer de data, der er lagret i en kolonne. det kan ajourføre en enkelt eller flere rækker på et tidspunkt afhængigt af resultatet, der filtreres ved hjælp af de betingelser, der er fastsat i hvor klausul.bemærk, at ajourføre kolonner adskiller sig fra at ændre kolonnerne.tidligere i dette kapitel, du har studeret den ændre kommando. det ændrer kommando ændrer tabel struktur, men forlader bordet data upåvirket. opdateringen kommando ændringer data i tabel og ikke den tabel struktur., syntaks: ajourføring af skemaet kolonne = værdi [, kolonne = værdi og. . .] [hvor betingelse], fra syntaks, der kolonne = udtryk kan være en kombination af bogstaver, formler, eller funktioner, der vil ajourføre data i den angivne kolonne navn. hvor klausul er frivillig, men hvis det er medtaget, specificeres det, som række vil blive ajourført. kun én tabel kan ajourføres på et tidspunkt med en opdatering kommando. det opdaterede redegørelse under opdateringer løn til ansatte john til 5000. ajourføring af ansatte, der er løn og= 5000, hvor oppr. (first_name) = "john", hvor predicates er valgfrit, men skal være logisk at ændre bilag, så kun de krævede række i tabellen.opdateringen erklæring under opdateringer løn til alle arbejdstagere i bordet. ajourføring af ansatte, der er løn = 5000; flere piller kan også ajourføres, idet flere kolonner i fastsat bestemmelse, adskilt af et komma.for eksempel, hvis både løn og arbejde rolle skal ændres til 5000 og salg til henholdsvis john, ajourføre udtalelse ligner, ajourføring af ansatte, der er løn = 5000, job_id = "salg", hvor øverste (first_name) = "john"; 1. række ajourførte.,, en anden måde at ajourføre flere kolonner af samme linje viser anvendelsen af subquery. ajourføring af ansatte, der er fastsat (løn, job_id) = (vælg 5000, salg af dobbelt), hvor øverste (ename) = "john", slette erklæring, slette kommando er et af de mest enkle for sql erklæringer.det fjerner en eller flere rækker fra bordet.flere tabel slette operationer ikke er tilladt i sql. syntaks af slette kommando er som følger, ikke table_name [hvor betingelse];,, slette kommando sletter alle rækker i skemaet, der opfylder betingelsen i den fakultative, hvor klausul.da, hvor klausul er frivilligt, det er let at slette alle rækker fra et bord ved at udelade en, hvor bestemmelse siden, hvor bestemmelse begrænser anvendelsesområdet for sletning.den under slette erklæring ville fjerne edwin 's oplysninger fra emp tabel., slette ansatte, hvor øverste (ename) = "edwin' 1. række slettes. note: slette [tabel navn] og slette fra [tabel navn] har den samme betydning., hvor betingelse i den betingede slette udtalelser kan gøre brug af subquery som det fremgår af nedenstående, slette fra arbejdstagere, hvor department_id i (vælg department_id fra steder, hvor location_code = sfo '), fjern decimaler, fjern decimaler, er en ddl kommando, som bruges til at smide alle optegnelser fra et bord, men at bevare tabel struktur.det er ikke støtter, hvor betingelse for at fjerne de udvalgte poster.,, syntaks:, fjern decimaler [tabel navn] er det automatisk forpligte, dvs. det forpligter de nuværende aktive transaktion i møde.truncating bordet ikke falder af fortegnelser, udløser eller begrænsninger.hvis en tabel a er forælder til et reference - begrænsning af en tabel b i databasen, tabel a, vil ikke kunne indskrænkes,.,, transaktion, en transaktion er en logisk enhed af det arbejde, der udføres i databasen.det kan enten indeholde -, flere dml kommandoer slutter med en tcl kommando, dvs. begå eller rollback,,, en ddl kommando,,, en dcl kommando, begyndende med en transaktion er forsynet med det første dml kommando.det ender med en tcl ddl eller dcl kommando.en tcl kommando, dvs. begå eller toldafvikling er spørgsmål udtrykkeligt til en aktiv transaktion.i kraft af deres grundlæggende opførsel, hvis nogen af ddl eller dcl ordrer bliver henrettet i en database, samling, forpligter den igangværende aktive transaktion i møde.hvis den database, f.eks. ulykker, unormalt, transaktionen er stoppet.begår, rollback og savepoint er transaktionen kontrol sprog.begå anvender data ændringer permanent i den i databasen, mens rollback er anti - forpligte operation.savepoint kontrollerer den serie af en transaktion med markører på forskellige transaktion faser.brugeren kan rulle tilbage den aktuelle transaktion til den ønskede at redde, var der tidligere.,, begår - forpligte ender den aktive transaktion ved anvendelse af data ændringer permanent i databasen tabeller.begå en tcl kommando, der udtrykkeligt ender transaktionen.den ddl og dcl kommando implicit begå den transaktion, savepoint, - savepoint anvendes til at markere et specifikt punkt i den aktuelle transaktion i møde.da det er logisk markør i transaktionen, savepoints ikke kan sætte spørgsmålstegn ved dataordbøger,.,, rollback - samme kommando anvendes til at afslutte hele transaktionen ved at kassere data ændringer.hvis transaktionen omfatter mærket savepoints, prøver at savepoint [navn] kan anvendes til samme transaktion til den angivne savepoint.som et resultat af alle de data, der skal ændringer til savepoint kasseres.,, demonstration, overveje de ansatte, som bliver befolket af nyansatte arbejdstagere oplysninger i løbet af første kvartal af hvert år.funktionærer vedlægges hver enkelt ansat detaljer med en savepoint, således at rollback nogen forkerte oplysninger på ethvert tidspunkt under data fodring aktivitet.bemærk, at han holder savepoint navne, som arbejdstageren navne. indsættes i ansatte (employee_id, first_name, hire_date, job_id, løn, department_id) - værdier (105, allen, to_date ('15-jan-2013,'sales, 10000,10); savepoint allen, sæt til ansatte (employee_id, first_name, hire_date, job_id, løn, department_id) - værdier (106, kate, to_date ('15-jan-2013,'prod, 10000,20); savepoint kate, indsæt til ansatte (employee_id, first_name, hire_date, job_id, løn, department_id) - værdier (107, mcman, to_date ('15-jan-2013,'admin, 12000,30); savepoint mcman; hvis de data, der giver erhvervsdrivende indser, at han er med urette opført løn "kate" og "mcman".han ruller tilbage den aktive transaktion til savepoint kate og retunere til arbejdstageren oplysninger om kate og mcman.prøver at savepoint, kate, indsæt til ansatte (employee_id, first_name, hire_date, job_id, løn, department_id) - værdier (106, kate, to_date ('15-jan-2013,'prod, 12500,20); savepoint kate, indsæt til ansatte (employee_id, first_name, hire_date, job_id, løn, department_id værdier (107) "mcman, to_date ('15-jan-2013,'admin, 13200,30); savepoint mcman;,, når han er færdig med de oplysninger, han kan begå hele transaktionen ved udstedelse af forpligte sig i denne mødeperiode,.,, læs konsistens, oracle fastholder sammenhængen mellem brugerne i hver mødeperiode i form af adgang til data og læs /skrive aktioner.når en dml indtræder på et bord, de oprindelige data værdier ændret af den aktion, der er registreret i databasen om registre.så længe transaktion ikke er engageret i databasen, enhver bruger i anden mødeperiode senere spørgsmål, de ændrede data synspunkter de oprindelige data værdier.oracle anvendelser af aktuelle oplysninger i systemet, globale område og oplysninger i den åbne registre til at konstruere et læs sammenhængende syn på et bord er data for et spørgsmål.kun når en transaktion er begået, ændringer af transaktionen gjort permanent.transaktionen er nøglen til oracle strategi for at læse konsistens.udgangspunkt for læse konsekvent, synspunkter er udarbejdet på vegne af læsere, kontrol med modificeret data kan blive set af andre transaktioner af databasen til at læse eller ajourføring heraf,



Previous:
Next Page: