საჭიროა ჩადენა Oracle-ში წაშლის შემდეგ?
საჭიროა ჩადენა Oracle-ში წაშლის შემდეგ?

ვიდეო: საჭიროა ჩადენა Oracle-ში წაშლის შემდეგ?

ვიდეო: საჭიროა ჩადენა Oracle-ში წაშლის შემდეგ?
ვიდეო: მოსამართლე დრედ ლორის ისტორია და ადრ... 2024, ნოემბერი
Anonim

თუ გსურთ ცხრილიდან ყველა მწკრივის ამოღება, TRUNCATE TABLE განცხადება ბევრად უფრო ეფექტურია, ვიდრე წაშლა განცხადება. TRUNCATE TABLE განცხადება არის DDL ბრძანება, ამიტომ ის მოიცავს იმპლიციტურ ბრძანებას ჩადენა , ასე რომ, არ არსებობს გზა ROLLBACK-ის გაცემის, თუ გადაწყვეტთ, რომ არ გსურთ რიგების ამოღება.

ამის გათვალისწინებით, არის თუ არა წაშლის საჭიროება Oracle-ში?

DELETE მოითხოვს ა ჩადენა , მაგრამ TRUNCATE აკეთებს არა.

ანალოგიურად, გვჭირდება commit after drop table? ᲨᲔᲥᲛᲜᲐ მაგიდა და ჩამოაგდეს მაგიდა განცხადებები კეთება არა ჩაიდინოს ტრანზაქცია, თუ გამოიყენება დროებითი საკვანძო სიტყვა. (ეს აკეთებს არ ვრცელდება დროებით სხვა ოპერაციებზე მაგიდები როგორიცაა ALTER მაგიდა და CREATE INDEX, რომელიც კეთება გამოიწვიოს ა ჩაიდინოს .)

შესაბამისად, საჭიროა ჩადენა Oracle-ში განახლების შემდეგ?

რატომ არ არის საჭირო ვალდებულება DDL ბრძანებები მაშინ როცა DML ბრძანებებისთვის სავალდებულოა ცვლილებების მუდმივად შენახვა მონაცემთა ბაზაში. Წინასწარ მადლობა. ზოგჯერ პასუხი ასეთია: "სწორედ ასე განახორციელა Oracle Corp.-მა."

აუცილებელია ჩადენა დაუყოვნებლივ შესრულების შემდეგ?

ვალდებულება არ არის საჭირო შემდეგ ყოველი შეასრულეთ დაუყოვნებლივ . გარკვეული განცხადებები არა მოითხოვს ა ჩაიდინოს ; მაგალითად, თუ თქვენ შეკვეცავთ ცხრილს TRUNCATE-ით. მიმდინარე ტრანზაქციის ფარგლებში ყველა დაუსრულებელი სამუშაო არიან ჩადენილი ან შემოვიდა უკან - არა მხოლოდ განცხადება შესრულებული მიერ შეასრულეთ დაუყოვნებლივ.

გირჩევთ: