სხვაობა პროცედურებსა და ფუნქციებს შორის პროგრამირებაში

სხვაობა პროცედურებსა და ფუნქციებს შორის პროგრამირებაში
სხვაობა პროცედურებსა და ფუნქციებს შორის პროგრამირებაში

ვიდეო: სხვაობა პროცედურებსა და ფუნქციებს შორის პროგრამირებაში

ვიდეო: სხვაობა პროცედურებსა და ფუნქციებს შორის პროგრამირებაში
ვიდეო: Yahoo vs Gmail - Which One Is Better? 2024, ივლისი
Anonim

პროცედურები vs ფუნქციები პროგრამირებაში

პროცედურები და ფუნქციები პროგრამირებაში, საშუალებას აძლევს პროგრამისტებს დააჯგუფონ ინსტრუქციები ერთ ბლოკში და შეიძლება გამოიძახონ პროგრამის სხვადასხვა ადგილიდან. კოდი უფრო გასაგები და კომპაქტური ხდება. ცვლილებების ერთ ადგილას შესრულებით, მთელი კოდი დაზარალდება. ფუნქციებისა და პროცედურების დახმარებით; ხაზოვანი და გრძელი კოდი შეიძლება დაიყოს დამოუკიდებელ მონაკვეთებად. ისინი უზრუნველყოფენ მეტ მოქნილობას სხვადასხვა პროგრამირების ენებისა და მონაცემთა ბაზების კოდირებისთვის.

რა არის ფუნქციები?

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

ფუნქციის სინტაქსი ასეთია:

ფუნქციის შექმნა ან ჩანაცვლება my_func

(p_name IN VARCHAR2:='Jack') დააბრუნეთ varchar2 დასაწყისიდან … დასასრული

რა არის პროცედურები?

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

პროცედურების სინტაქსი ასეთია:

პროცედურების შექმნა ან ჩანაცვლება my_proc

(p_name IN VARCHAR2:='ჯეკი') დასაწყისისას … დასასრული

ძირითადად, არსებობს ორი გზა, რომლითაც პარამეტრი გადაეცემა ფუნქციებსა და პროცედურებში; ღირებულებით ან მითითებით. თუ პარამეტრს გადაეცემა მნიშვნელობა; მოდიფიკაცია გავლენას ახდენს ფუნქციის ან პროცედურის ფარგლებში, მის რეალურ მნიშვნელობაზე გავლენის გარეშე.

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

სხვაობა პროცედურებსა და ფუნქციებს შორის

• როდესაც პარამეტრი გადადის პროცედურაში; ის არ აბრუნებს მნიშვნელობას, ხოლო ფუნქცია ყოველთვის აბრუნებს მნიშვნელობას.

• ერთ-ერთი მთავარი განსხვავება ორივე მათგანში არის ის, რომ პროცედურები არ გამოიყენება მონაცემთა ბაზაში, მაშინ როცა ფუნქციები მნიშვნელოვან როლს თამაშობენ მონაცემთა ბაზიდან მნიშვნელობების დაბრუნებაში.

• პროცედურებს შეუძლიათ მრავალი მნიშვნელობის დაბრუნება და ფუნქციებს შეუძლიათ შეზღუდული მნიშვნელობების დაბრუნება.

• DML ოპერაციების გამოყენება შესაძლებელია შენახულ პროცედურებში; თუმცა, ისინი არ არის შესაძლებელი ფუნქციებში.

• ფუნქციებს შეუძლიათ დააბრუნონ მხოლოდ ერთი მნიშვნელობა და ის სავალდებულოა, ხოლო პროცედურებს შეუძლიათ დააბრუნონ n ან ნულოვანი მნიშვნელობები.

• ფუნქციებში შეცდომის დამუშავება შეუძლებელია, ხოლო შენახულ პროცედურებში.

• შეყვანის და გამომავალი პარამეტრების გადაცემა შესაძლებელია პროცედურებში, ხოლო ფუნქციების შემთხვევაში; შესაძლებელია მხოლოდ შეყვანის პარამეტრების გადაცემა.

• ფუნქციების გამოძახება შესაძლებელია პროცედურებიდან, მაშინ როდესაც შეუძლებელია პროცედურის გამოძახება ფუნქციიდან.

• ტრანზაქციის მენეჯმენტი შეიძლება განიხილებოდეს პროცედურებში და არ განიხილება ფუნქციების შემთხვევაში.

გირჩევთ: