არის თუ არა DDL ბრძანებები ავტომატური ჩართვის?
არის თუ არა DDL ბრძანებები ავტომატური ჩართვის?

ვიდეო: არის თუ არა DDL ბრძანებები ავტომატური ჩართვის?

ვიდეო: არის თუ არა DDL ბრძანებები ავტომატური ჩართვის?
ვიდეო: DDL Commands in SQL | Oracle Database 2024, ნოემბერი
Anonim

არის ( DDL ) მონაცემთა მანიპულირების ენა განცხადებები ავტოკომიტირება ? არა. მხოლოდ DDL (მონაცემთა განმარტების ენა) განცხადებები როგორიცაა შექმნა, შეცვლა, ჩამოგდება, შეკვეცა არიან ავტოკომიტირება.

გარდა ამისა, არის თუ არა DML ბრძანებები ავტოკომიტირებული?

ნაგულისხმევად, ა DML ტრანზაქციის მკაფიოდ დაწყების გარეშე შესრულებული განცხადება ავტომატურად ჩადენილია წარმატებულად ან აბრუნებს წარუმატებლობას ამონაწერის ბოლოს. ამ ქცევას ჰქვია ავტოკომიტირება . ეს ქცევა კონტროლდება AUTOCOMMIT პარამეტრი. DDL განცხადებები ყოველთვის ავტომატური.

შემდგომში ჩნდება კითხვა, რა არის Autocommit SQL-ში? მონაცემთა მართვის კონტექსტში, ავტოკომიტირება არის მონაცემთა ბაზის კავშირის მუშაობის რეჟიმი. ალტერნატივა ავტოკომიტირება რეჟიმი (არა ავტოკომიტირება ) ნიშნავს, რომ SQL თავად კლიენტის აპლიკაცია პასუხისმგებელია ტრანზაქციის დაწყების (ტრანზაქციის დაწყება) და შეწყვეტის (კომიტორის უკან დაბრუნება) ბრძანებების გაცემაზე.

შემდეგ, DDL მოითხოვს commit-ს?

TRUNCATE არის ა DDL ბრძანება, ასე რომ მას არ სჭირდება აშკარა ჩაიდინოს რადგან დარეკვა ახორციელებს იმპლიციტს ჩაიდინოს . სისტემის დიზაინის პერსპექტივიდან ტრანზაქცია არის საქმის საქმის ერთეული. ის შეიძლება შედგებოდეს ერთი DML განცხადებისგან ან რამდენიმე მათგანისგან. არ აქვს მნიშვნელობა: მხოლოდ სრული ტრანზაქციები მოითხოვს COMIT.

რა ხდება, როდესაც ჩართულია Autocommit?

თუ AUTOCOMMIT დაყენებულია 1-მდე, თითოეული SQL განცხადება განიხილება სრულ ტრანზაქციად და ნაგულისხმევად ჩადენილია, როდესაც ის დასრულდება. თუ AUTOCOMMIT დაყენებულია 0-მდე, განცხადებების შემდგომი სერია მოქმედებს როგორც ტრანზაქცია და არანაირი ტრანზაქცია არ განხორციელდება მანამ, სანამ არ გაიცემა ცალსახა COMMIT განცხადება.

გირჩევთ: