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

Სარჩევი:

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

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

ვიდეო: სხვაობა შენახულ პროცედურასა და ფუნქციას შორის
ვიდეო: Android 4.0 Ice Cream Sandwich (Samsung Galaxy Nexus) vs iOS 5 (Apple iPhone 4S) : UI Comparison 2024, ივლისი
Anonim

შენახული პროცედურა ფუნქციის წინააღმდეგ

შენახული პროცედურები და ფუნქციები არის ორი ტიპის პროგრამირების ბლოკი. ორივეს სახელი უნდა ჰქონდეს. ეს სახელები გამოიყენება სხვა პროგრამირების ბლოკში, როგორიცაა პროცედურების ფუნქციები და პაკეტები ან SQL მოთხოვნები. ობიექტის ორივე ტიპი იღებს პარამეტრებს და ასრულებს დავალებას ამ ობიექტების უკან. ეს არის სინტაქსი (ORACLE-ში) შენახული პროცედურის შესაქმნელად, შექმენით ან შეცვალეთ პროცედურის სახელი (პარამეტრები)

როგორც

დაწყება

განცხადებები;

გამონაკლისი

გამონაკლისის_დამუშავება

დასრულება;

და აქ არის სინტაქსი ფუნქციის შესაქმნელად (ORACLE-ში), შექმენით ან შეცვალეთ ფუნქციის_სახელი (პარამეტრები)

return return_datatype

როგორც

დაწყება

განცხადებები;

return return_value/ცვლადი;

გამონაკლისი;

გამონაკლისის_დამუშავება;

დასრულება;

შენახული პროცედურები

როგორც ზემოთ აღინიშნა, შენახულ პროცედურებს უწოდებენ პროგრამირების ბლოკებს. ისინი იღებენ პარამეტრებს, როგორც მომხმარებლის შეყვანას და ამუშავებენ პროცედურის უკან არსებული ლოგიკის მიხედვით და აძლევენ შედეგს (ან ასრულებენ კონკრეტულ მოქმედებას). ეს პარამეტრები შეიძლება იყოს IN, OUT და INOUT ტიპის. ცვლადის დეკლარაციები, ცვლადის მინიჭებები, საკონტროლო განცხადებები, მარყუჟები, SQL მოთხოვნები და სხვა ფუნქციები/პროცედურები/პაკეტის ზარები შეიძლება იყოს პროცედურების ნაწილში.

ფუნქციები

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

ერთი რიგის ფუნქციები (აბრუნებს ერთ შედეგს მოთხოვნის თითოეული რიგისთვის)

არსებობს ერთი რიგის ფუნქციების ქვეკატეგორიები.

  • რიცხობრივი ფუნქცია (მაგ.: ABS, SIN, COS)
  • სიმბოლო ფუნქცია (მაგ. CONCAT, INITCAP)
  • თარიღის დროის ფუნქცია (მაგ.: LAST_DAY, NEXT_DAY)
  • კონვერტაციის ფუნქციები (მაგ.: TO_CHAR, TO_DATE)
  • კოლექციის ფუნქცია (მაგ.: CARDINALITY, SET)
  • აგრეგატული ფუნქციები (აბრუნებს ერთ მწკრივს, მწკრივების ჯგუფზე დაყრდნობით. მაგ.: AVG, SUM, MAX)
  • ანალიტიკური ფუნქციები
  • ობიექტის მითითების ფუნქციები
  • მოდელის ფუნქციები
  • მომხმარებლის განსაზღვრული ფუნქციები

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

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

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

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

გირჩევთ: