Տարբերություն Պահված ընթացակարգի և գործառույթի միջև

Բովանդակություն:

Տարբերություն Պահված ընթացակարգի և գործառույթի միջև
Տարբերություն Պահված ընթացակարգի և գործառույթի միջև

Video: Տարբերություն Պահված ընթացակարգի և գործառույթի միջև

Video: Տարբերություն Պահված ընթացակարգի և գործառույթի միջև
Video: Գաղափար գրավիտացիոն փոխազդեցության մասին 2024, Նոյեմբեր
Anonim

Պահված ընթացակարգ ընդդեմ գործառույթ

Պահված ընթացակարգերը և գործառույթները ծրագրավորման երկու տեսակի բլոկներ են: Երկուսն էլ պետք է կոչական անուններ ունենան։ Այդ կանչող անուններն օգտագործվում են դրանք մեկ այլ ծրագրավորման բլոկի ներսում կանչելու համար, ինչպիսիք են ընթացակարգերի գործառույթները և փաթեթները կամ SQL հարցումները: Այս օբյեկտների երկու տեսակներն էլ ընդունում են պարամետրեր և կատարում են այդ օբյեկտների հետևում գտնվող առաջադրանքները: Սա շարահյուսություն է (ORACLE-ում) պահպանված ընթացակարգ ստեղծելու համար, ստեղծել կամ փոխարինել ընթացակարգի անվանումը (պարամետրերը)

ինչպես

սկիզբ

հայտարարություններ;

բացառություն

բացառություն_մշակում

վերջ;

Եվ ահա ֆունկցիա ստեղծելու շարահյուսությունը (ORACLE-ում), ստեղծել կամ փոխարինել ֆունկցիայի_անունը (պարամետրերը)

return return_datatype

ինչպես

սկիզբ

հայտարարություններ;

return return_value/variable;

բացառություն;

բացառությունների_մշակում;

վերջ;

Պահված ընթացակարգեր

Ինչպես նշվեց վերևում, պահպանված ընթացակարգերը կոչվում են ծրագրավորման բլոկներ: Նրանք ընդունում են պարամետրերը որպես օգտագործողի մուտքագրում և մշակում ըստ ընթացակարգի տրամաբանության և տալիս են արդյունք (կամ կատարում են կոնկրետ գործողություն): Այս պարամետրերը կարող են լինել 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-ում պահվող պրոցեդուրաներում դա այդպես չէ:

Խորհուրդ ենք տալիս: