სრული გზამკვლევი პროცედურისა და ფუნქციის შესახებ PL SQL – TechCult
Miscellanea / / April 07, 2023
პროგრამირების ენები არის კომპიუტერული პროგრამების ჩაწერის სისტემა. მიუხედავად იმისა, რომ პროგრამირების მრავალი ენა დაფუძნებულია ტექსტზე, სხვები ასევე შეიძლება იყოს გრაფიკული. ეს ენები პროგრამისტებს კომპიუტერთან კომუნიკაციაში ეხმარება. სტრუქტურირებული შეკითხვის ენა (SQL) არის ერთ-ერთი ასეთი პროგრამირების ენა, რომელიც ეხმარება შენახვას, მანიპულირებას და მონაცემთა ბაზაში შენახული მონაცემების მიღებას. დღევანდელ სახელმძღვანელოში ჩვენ გაგიზიარებთ დეტალებს სახელების ბლოკების (პროცედურების და ფუნქციების) შესრულების შესახებ, რომლებიც PL SQL-ის ქვეპროგრამებია. ასე რომ, თუ თქვენ ეძებდით საფუძვლიან სახელმძღვანელოს პროცედურისა და ფუნქციის შესახებ PL SQL-ში, თქვენ მოხვდით სწორ გვერდზე. ამ დოკუმენტში, PL SQL შენახული პროცედურის თემის გაშუქებასთან ერთად, თქვენ ასევე გაეცნობით PL SQL პროცედურის მაგალითს. რომ აღარაფერი ვთქვათ, PL SQL ზარის პროცედურა, PL SQL გასვლის პროცედურა და PL SQL ფუნქციის მაგალითი, რომლებიც თანაბრად მნიშვნელოვანია, რომ გაიგოთ, თუ თქვენ ხართ დამწყები პროგრამისტი. მოდით, დავიწყოთ ჩვენი საფუძვლიანი სახელმძღვანელო PL SQL-ზე.
Სარჩევი
სრული გზამკვლევი პროცედურისა და ფუნქციის შესახებ PL SQL-ში
აქ ჩვენ დეტალურად ვაჩვენეთ PL SQL პროცედურები და ფუნქციები მაგალითებით.
რა არის PL SQL?
- PL SQL არის მოკლე ფორმა პროცედურული ენის გაფართოებები SQL-ზე.
- PL SQL არის ბლოკის სტრუქტურირებული ენა პროგრამისტებისთვის, რომელიც ეხმარება მათ ამაში გააერთიანეთ SQL-ის ძალა თან პროცედურული განცხადებები.
- Ეს არის Oracle Corporation-ს პროცედურული გაფართოება.
- ეს პროცედურული ენა ხელმისაწვდომია Oracle მონაცემთა ბაზა, ჯერ ათი მეხსიერების მონაცემთა ბაზა და IBM Db2.
- გაშვების დროს, როგორც PL/SQL, ასევე SQL მოაქვს ოპტიმალური ეფექტურობა შიგნით გაშვებით იგივე სერვერის პროცესი.
- PL SQL უზრუნველყოფს SQL განცხადებების ეფექტურ და შეუფერხებელ დამუშავებას პორტაბელურობა, უსაფრთხოება, და სიმტკიცე მონაცემთა ბაზის.
- PL SQL უბრალოდ ნიშნავს შემდგენლის ინსტრუქციას რა უნდა ვქნა მეშვეობით SQL და დაახლოებით როგორ უნდა გავაკეთოთ მისი მეშვეობით პროცედურული გზა.
- PL SQL უფრო მეტ კონტროლს აძლევს პროგრამისტებს მარყუჟების გამოყენება, პირობები, და ობიექტზე ორიენტირებული ცნებები.
რა არის პროცედურა და ფუნქცია PL SQL-ში?
- PL SQL-ს აქვს ორი ქვეპროგრამა, რომელიც ცნობილია როგორც პროცედურები და ფუნქციები.
- ჩვეულებრივ, პროცედურა გამოიყენება შეასრულოს ამოქმედება და ფუნქცია გამოთვალეთ მნიშვნელობა.
- PL SQL-ში ქვეპროგრამებს აქვთ ა დეკლარაციული ნაწილი, ან შესრულებადი ნაწილიდა ა სურვილისამებრ გამონაკლისის დამუშავების ნაწილი.
- ამ ქვეპროგრამების შექმნა და შენახვა შესაძლებელია მონაცემთა ბაზაში როგორც მონაცემთა ბაზის ობიექტები.
- პროცედურების და ფუნქციების ქვეპროგრამები PL SQL-ში აბრუნებს ა ერთი ღირებულება რომელიც ძირითადად გამოიყენება გამოთვლა და დააბრუნეთ მნიშვნელობა.
- ეს ქვეპროგრამები უბრალოდ კოლექციაა PL/SQL და SQL განცხადებები რომელსაც შეუძლია შეასრულოს ა კონკრეტული დავალება.
როგორ შევქმნათ შენახული პროცედურა და ფუნქცია PL SQL-ში?
როდესაც PL SQL შენახული პროცედურის ან ფუნქციის კოდის ბლოკი იწერება, ისინი შედგენილია Oracle-ის ძრავის მიერ. შედგენის შემდეგ, ის ინახება როგორც მონაცემთა ბაზის ობიექტი. კოდის შენახული პროცედურა ან ფუნქციის ბლოკი შედგება სამი ნაწილისგან:
- დეკლარაციული ნაწილი: ამ ნაწილში დეკლარირებულია ცვლადები, მუდმივები, კურსორი ან გამონაკლისები, რომლებიც გამოიყენება პროცედურის ან ფუნქციის მიხედვით.
- შესრულებადი ნაწილი: ამ ნაწილში იწერება შექმნილი პროცედურის ან ფუნქციის განმარტება. ეს ნაწილი ასევე შედგება PL/SQL ან SQL განცხადებებისგან, რომლებიც ანიჭებენ მნიშვნელობებს, მანიპულირებენ მონაცემებს და აკონტროლებენ შესრულებას.
- გამონაკლისის დამუშავების ნაწილი: ეს ბოლო ნაწილი არჩევითია და მასში იწერება მოსალოდნელი გამონაკლისები, რომლებიც შეიძლება გამოჩნდეს შესრულებად ნაწილში დაწერილი კოდის შესრულებისას.
შენახული პროცედურისა და ფუნქციის უპირატესობები PL SQL-ში
სანამ PL SQL პროცედურის მაგალითს გამოვავლენთ, ჯერ უნდა გაეცნოთ პროცედურების და ფუნქციების ქვეპროგრამების უპირატესობებს.
- მონაცემთა ბაზის მუშაობის გაუმჯობესება: Oracle ძრავა ეხმარება ავტომატურ შედგენაში. ასევე, როდესაც PL SQL გამოძახების პროცედურა ან ფუნქცია კეთდება, Oracle-ის ძრავა ატვირთავს შედგენილ კოდს SGA-ში, System Global Area-ში, რაც ხელს უწყობს უფრო სწრაფად შესრულებას.
- მრავალჯერადი გამოყენება და არა ზედმეტი: კოდის ხაზების რაოდენობა არ შეიძლება განმეორებით ჩაიწეროს, რადგან პროცედურის ან ფუნქციის კოდის ერთი და იგივე ბლოკი შეიძლება გამოძახდეს რამდენჯერმე მრავალ მონაცემზე.
- უსაფრთხოება: მონაცემთა ბაზის უსაფრთხოება ასევე შენარჩუნებულია შენახული პროცედურების ან ფუნქციების გამოყენებით, რადგან ეს ხელს უწყობს გამოყენებისა და მათი წვდომის კონტროლს მომხმარებლებისთვის ნებართვის მინიჭებით. თუმცა, მონაცემთა ბაზის რედაქტირების ან მანიპულირების ნებართვა არ არის მინიჭებული მომხმარებლებს.
- მთლიანობა: PL SQL შენახული პროცედურის ან ფუნქციის გამოყენების კიდევ ერთი უპირატესობა არის ის, რომ ის უზრუნველყოფს მთლიანობას, რადგან ისინი ინახება როგორც მონაცემთა ბაზის ობიექტები Oracle ძრავის მიერ.
- მეხსიერების შენახვა: შენახული პროცედურების ან ფუნქციების ერთ-ერთი უპირატესობა ის არის, რომ ისინი იზიარებენ მეხსიერებას, რაც მეხსიერების დაზოგვას უწყობს ხელს პროცედურის ან ფუნქციის ერთი ასლი, რომელიც შეიძლება ჩაიტვირთოს რამდენიმე მომხმარებლის მიერ, რომლებსაც აქვთ ამის უფლება იგივე.
ასევე წაიკითხეთ:როგორ გამოვასწოროთ javascript: void (0) შეცდომა
შენახული პროცედურის შექმნის სინტაქსი
თქვენ შეგიძლიათ ნახოთ ქვემოთ მოცემული სინტაქსი, რომელიც გამოიყენება შენახული პროცედურის შესაქმნელად Oracle:
პროცედურების შექმნა ან ჩანაცვლება (IN/OUT/IN OUT , IN/OUT/IN OUT ცვლადი/მუდმივი დეკლარაცია;დასაწყისი-- PL/SQL ქვეპროგრამის სხეული;გამონაკლისი- გამონაკლისის მართვის ბლოკი;ᲓᲐᲡᲐᲡᲠᲣᲚᲘ,...) ᲐᲠᲘᲡ ᲠᲝᲒᲝᲠᲪ ;
ზემოთ მოცემულ კოდში:
- პროცედურის_სახელი წარმოადგენს პროცედურის სახელს.
- ცვლადის_სახელი წარმოადგენს შენახულ პროცედურაში გამოყენებული ცვლადის სახელს.
- Შექმნა ან პროცედურის ჩანაცვლება წარმოადგენს საკვანძო სიტყვას, რომელიც გამოიყენება შექმნის პროცედურის დასახელების დასაზუსტებლად.
- დაწყება, გამონაკლისი, და Დასასრული წარმოადგენს საკვანძო სიტყვებს, რომლებიც გამოიყენება პროცედურის შექმნის სხვადასხვა მონაკვეთების მითითებისთვის.
- IN/OUT/IN OUT წარმოადგენს პარამეტრის რეჟიმებს, სადაც, IN ეხება ᲬᲐᲘᲙᲘᲗᲮᲔᲗ ᲛᲮᲝᲚᲝᲓ რეჟიმი, რომელიც გამოიყენება ცვლადისთვის, რომლის მეშვეობითაც იგი მიიღებს მნიშვნელობას მომხმარებლისგან. ეს არის პარამეტრის ნაგულისხმევი რეჟიმი.
- გარეთ ეხება დაწერე მხოლოდ რეჟიმი, რომელიც გამოიყენება ცვლადისთვის, რომელიც უბრუნებს მომხმარებელს მნიშვნელობას.
- IN OUT ეხება წაიკითხეთ და დაწერე რეჟიმი, რომელიც გამოიყენება ცვლადისთვის, რომელიც ან მიიღებს მნიშვნელობას ან დააბრუნებს მნიშვნელობას მომხმარებელს.
- წარმოადგენს პროცედურის განსაზღვრის დასასრულს. თქვენ ასევე შეგიძლიათ უბრალოდ გამოიყენოთ END მის ადგილას.
PL SQL პროცედურის მაგალითი
ქვემოთ მოცემული პროცედურის კოდისთვის, აქ არის მარტივი მაგალითი, რომელიც ნათლად აჩვენებს შენახული პროცედურის გამოყენებას ორი რიცხვის დასამატებლად:
სერვერის გამოყვანის ჩართვა;შექმენით ან შეცვალეთ პროცედურა ჯამი ( სადაც IN ნომერი, b IN რიცხვი) არის c რიცხვი;დასაწყისიგ := a+b;dbms_output.put_line ('ორი ნომრის ჯამი= '|| c);END ჯამი;
პროცედურის გამოძახების შემთხვევაში შესრულდება შემდეგი კოდი:
სერვერის გამოყვანის ჩართვა;გამოაცხადეx ნომერი;y ნომერი;დასაწყისიx := &x;y := &y;ჯამი (x, y);ᲓᲐᲡᲐᲡᲠᲣᲚᲘ;სად:შეიყვანეთ მნიშვნელობა x-ისთვის: 10შეიყვანეთ მნიშვნელობა y-სთვის: 20ორი ნომრის ჯამი: 30
PL SQL პროცედურა წარმატებით შეიქმნა.
სინტაქსი PL SQL-ში ფუნქციის შესაქმნელად
ახლა, როდესაც თქვენ იცით, თუ როგორ უნდა შექმნათ სინტაქსი შენახული პროცედურისთვის და მისი მაგალითი, დროა ნათელი მოჰფინოთ ფუნქციების შექმნას PL/SQL-ში:
ფუნქციის შექმნა ან ჩანაცვლება (IN , IN ᲓᲐᲑᲠᲣᲜᲔᲑᲘᲡ,...) ᲐᲠᲘᲡ ᲠᲝᲒᲝᲠᲪ ცვლადი/მუდმივი დეკლარაცია;დასაწყისი-- PL/SQL ქვეპროგრამის სხეული;გამონაკლისი- გამონაკლისის მართვის ბლოკი;ᲓᲐᲡᲐᲡᲠᲣᲚᲘ;
ზემოთ მოცემულ კოდში:
- ფუნქცია_სახელი წარმოადგენს ფუნქციის სახელს.
- ცვლადის_სახელი წარმოადგენს ფუნქციაში გამოყენებული ცვლადის ცვლადის სახელს.
- Შექმნა ან ფუნქციის შეცვლა წარმოადგენს საკვანძო სიტყვას, რომელიც გამოიყენება შექმნილი ფუნქციის სახელისთვის.
- IN წარმოადგენს ᲬᲐᲘᲙᲘᲗᲮᲔᲗ ᲛᲮᲝᲚᲝᲓ რეჟიმი, რომელიც გამოიყენება ცვლადისთვის, რომლითაც იგი მიიღებს მნიშვნელობას მომხმარებლისგან. ეს არის ნაგულისხმევი პარამეტრი.
- Დაბრუნების წარმოადგენს საკვანძო სიტყვას, რომელსაც მოსდევს მონაცემთა ტიპი, რომელიც მიუთითებს მნიშვნელობის მონაცემთა ტიპს, რომლის დაბრუნებასაც აპირებს ფუნქცია.
ასევე წაიკითხეთ:შესწორების ბრძანება ვერ მოხერხდა შეცდომის კოდით 1 Python Egg Info
PL SQL ფუნქციის მაგალითი
ქვემოთ მოცემულია PL SQL ფუნქციის მაგალითი, რომელიც აჩვენებს ფუნქციის გამოყენებას ორი რიცხვის დასამატებლად:
სერვერის გამოყვანის ჩართვა;ფუნქციის შექმნა ან ჩანაცვლება ჯამი (a IN რიცხვი, b IN რიცხვი) RETURN ნომერი არისc ნომერი;დასაწყისიგ := a+b;დაბრუნება c;ᲓᲐᲡᲐᲡᲠᲣᲚᲘ;
ფუნქციის ჯამის გამოძახების შემთხვევაში შესრულდება შემდეგი კოდი:
სერვერის გამოყვანის ჩართვა;გამოაცხადეNo1 ნომერი;No2 ნომერი;შედეგის ნომერი;დასაწყისიno1 := &no1;no2 := &no2;შედეგი := ჯამი (no1,no2);dbms_output.put_line('ორი ნომრის ჯამი='||შედეგი);ᲓᲐᲡᲐᲡᲠᲣᲚᲘ;სად:შეიყვანეთ მნიშვნელობა No1-ისთვის: 5შეიყვანეთ მნიშვნელობა No2-ისთვის: 5ორი ნომრის ჯამი: 10
PL SQL პროცედურა წარმატებით შეიქმნა.
წაიკითხეთ შემდეგი განყოფილება, რომ იცოდეთ PL SQL გასვლის პროცედურის შესახებ.
რა არის PL SQL გასვლის პროცედურა?
Exit ეხმარება, როდესაც განცხადება გამოდის მარყუჟის მიმდინარე გამეორებიდან, როდესაც დაკმაყოფილდება მისი WHEN პუნქტის პირობა და გადასცემს კონტროლს ამჟამად მიმდინარე ციკლის ბოლოს. გასასვლელი განცხადებები არ შეიძლება გამოყენებულ იქნას მარყუჟების გარეთ და გამიზნულია ციკლიდან გასასვლელად Exit and Continue განცხადებების უპირობოდ გამოყენება ან პირობითად Exit When და Continue When განცხადებები.
განსხვავება შენახულ და ფუნქციონალურ პროცედურას შორის
ახლა, როდესაც თქვენ იცით პროცედურა და ფუნქცია PL SQL-ში, საბოლოოდ დროა იცოდეთ ამ ორს შორის ძირითადი განსხვავებაც:
- შენახული პროცედურა შეიძლება დააბრუნოს ან არ დააბრუნოს მნიშვნელობა პროგრამის გამოძახებულ ნაწილს, მაშინ როცა, ფუნქცია აბრუნებს მნიშვნელობას პროგრამის გამომძახებელ ნაწილს.
- შენახული პროცედურა აბრუნებს მნიშვნელობას OUT პარამეტრის გამოყენებით, ხოლო, ფუნქცია აბრუნებს მნიშვნელობას RETURN-ის გამოყენებით.
- შენახული პროცედურა იყენებს IN, OUT, IN OUT პარამეტრს, ხოლო, ფუნქცია იყენებს მხოლოდ IN პარამეტრს.
- შენახული პროცედურა არ აკონკრეტებს მონაცემთა ტიპს მნიშვნელობას, თუ იგი აპირებს დაბრუნებას მასზე განხორციელებული ზარის შემდეგ, მაშინ როცა, ფუნქცია განსაზღვრავს მნიშვნელობის მონაცემთა ტიპს, რომელიც დაბრუნდება მასზე განხორციელებული ზარის შემდეგ.
- შენახული პროცედურა არ შეიძლება გამოძახება კოდის ფუნქციის ბლოკიდან, მაშინ როცა, ფუნქცია შეიძლება გამოძახება კოდის პროცედურული ბლოკიდან.
რეკომენდებულია:
- DDR4 vs DDR5 RAM: რომელია უკეთესი თამაშებისთვის?
- რა არის Breadboard-ის ტიპები?
- როგორ გავაანალიზოთ ტექსტი
- სტრიქონის გაყოფის 4 გზა SQL-ში დელიმიტერით
ჩვენ ვიმედოვნებთ, რომ ჩვენი ექიმი პროცედურა და ფუნქცია PL SQL-ში იყო გამოსადეგი და წარმატებული, რომ უპასუხა თქვენს ყველა ეჭვს PL SQL-ზე და მათ ქვეპროგრამებზე, პროცედურასა და ფუნქციაზე, PL SQL გასვლის პროცედურაზე და სხვა. თუ ჩვენ რაიმე გზით დაგეხმარეთ ან გაქვთ მეტი შეკითხვა თქვენი მხრიდან, გთხოვთ დატოვოთ თქვენი კომენტარები ქვემოთ, რომ შეგვატყობინოთ.
ელონი არის ტექნიკური მწერალი TechCult-ში. ის დაახლოებით 6 წელია წერს სახელმძღვანელოებს და აშუქებს ბევრ თემას. მას უყვარს Windows, Android-თან დაკავშირებული თემების გაშუქება და უახლესი ხრიკები და რჩევები.