Katkaise (SQL)
Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 25. kesäkuuta 2014 tarkistetusta
versiosta . tarkastukset vaativat
14 muokkausta .
TRUNCATE - SQL -kielellä - toiminto poistaa välittömästi kaikki taulukon rivit. Loogisesti samanlainen kuin DELETE -operaatio ilman WHERE-lausetta , mutta eroaa käytännön tilanteissa [1] [2] [3] [4] [5] .
Syntaksi
Yleinen komentosyntaksi:
TYHENNÄ TABLE < Taulukon nimi >
Tällaisen komennon suorittamisen seurauksena taulukon <TableName> kaikki rivit poistetaan kokonaan .
Erot DELETE-lauseeseen
TRUNCATE- ja DELETE-käskyjen tärkeimmät erot, joita voi esiintyä eri DBMS -toteutuksissa, ovat:
- TRUNCATE-toiminto ei kirjoita yksittäisten rivien poistamista tapahtumalokiin. Tämän seurauksena se ei voi aktivoida laukaisimia .
- TRUNCATE-toimintoa seuraa implisiittinen COMMIT -toiminto joillekin tietokantajärjestelmille (kuten Oracle ) . Siksi taulukosta poistettuja tietueita ei voida palauttaa ROLLBACK -toiminnolla . Mutta on myös tietokantajärjestelmiä, joissa TRUNCATE-toiminto voi osallistua tapahtumiin, kuten PostgreSQL ja Microsoft SQL Server .
- DELETE-toiminto lukitsee jokaisen rivin, kun taas TRUNCATE-toiminto lukitsee koko taulukon.
- TRUNCATE-toiminto ei palauta mitään merkityksellistä arvoa (palauttaa yleensä 0), toisin kuin DELETE , joka palauttaa poistettujen rivien määrän.
- TRUNCATE-toiminto joissakin tietokantajärjestelmissä (esim . MySQL tai Microsoft SQL Server ) nollaa laskurit (kentille, joissa on AUTOINCREMENT / IDENTITY). PostgreSQL : ssä laskurien nollaus vaatii RESTART IDENTITY -muuntimen.
- TRUNCATE-toiminto joissakin tietokantajärjestelmissä (kuten MySQL , PostgreSQL tai Microsoft SQL Server ) ei ole sallittu taulukoissa, jotka sisältävät muiden taulukoiden vieraita avaimia. PostgreSQL:llä on kuitenkin CASCADE-muokkaus, joka sallii TRUNCATE:n tässä tilanteessa - tiedot riippuvista taulukoista poistetaan samassa tapahtumassa.
- SQLite ei sisällä operaatiota sellaisenaan, mutta DELETE-operaatiossa on optimointi, joka "nopeuttaa merkittävästi sen toimintaa, jos WHERE-argumenttia ei ole".
TRUNCATE-käskyn toteutus voi riippua tietyn DBMS:n valinnasta. Siksi kussakin tapauksessa on tarpeen tutkia valitun järjestelmän dokumentaatiota.
Muistiinpanot
- ↑ SQL Server Books Online. TRUNCATE TABLE -lause. . Microsoft. Haettu 12. lokakuuta 2014. Arkistoitu alkuperäisestä 25. huhtikuuta 2012. (määrätön)
- ↑ MySQL-dokumentaatio. TUNKOTA TABLE Syntaksi. . Haettu 14. toukokuuta 2010 Arkistoitu alkuperäisestä 25. huhtikuuta 2012. (määrätön)
- ↑ Oracle® Database SQL Reference. 10 g:n julkaisu 2 (10.2). . Oracle Corp. Haettu 14. toukokuuta 2010 Arkistoitu alkuperäisestä 25. huhtikuuta 2012. (määrätön)
- ↑ Postgres Pro Standard: Dokumentaatio: 9.5: TRUNCATE . postgrespro.ru. Haettu 7. kesäkuuta 2020. Arkistoitu alkuperäisestä 7. kesäkuuta 2020. (Venäjän kieli)
- ↑ POISTA . www.sqlite.org. Haettu 7. kesäkuuta 2020. Arkistoitu alkuperäisestä 17. kesäkuuta 2020. (määrätön)
SQL |
---|
Versiot |
- SQL-86
- SQL-89
- SQL-92
- SQL:1999
- SQL:2003
- SQL:2006
- SQL:2008
- SQL:2011
- SQL:2016
|
---|
Avainsanat |
|
---|
Aiheeseen liittyvät artikkelit |
|
---|
ISO/IEC SQL:n osat |
- puitteet
- säätiö
- Puhelutason käyttöliittymä
- Pysyvät tallennetut moduulit
- Ulkoisten tietojen hallinta
- Objektikielen sidokset
- Tieto- ja määritelmäkaaviot
- Java-ohjelmointikielen SQL-rutiinit ja -tyypit
- XML:ään liittyvät tekniset tiedot
|
---|