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

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

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

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

Video: Տարբերություն դիտման և պահված ընթացակարգի միջև
Video: Ադրբեջանի և Իրանի միջև լարվածությունն աճում է. կողմերը հրապարակային մեղադրանքներ են հնչեցնում 2024, Հուլիսի
Anonim

Դիտել ընդդեմ Պահված ընթացակարգի

Դիտումները և պահպանված ընթացակարգերը տվյալների բազայի երկու տեսակի օբյեկտներ են: Դիտումները մի տեսակ պահված հարցումներ են, որոնք տվյալներ են հավաքում մեկ կամ մի քանի աղյուսակներից: Ահա տեսք ստեղծելու շարահյուսությունը

ստեղծել կամ փոխարինել դիտման անվանումը

ինչպես

select_statement;

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

է

սկիզբ

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

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

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

վերջ;

Դիտել

A View-ը գործում է որպես վիրտուալ աղյուսակ: Այն թաքցնում է ընտրված հայտարարություն իր մարմնի ներսում: Այս ընտրված հայտարարությունը կարող է լինել շատ բարդ, որը տվյալներ է վերցնում մի քանի աղյուսակներից և դիտումներից: Հետևաբար, այլ կերպ ասած, view-ը անվանումով ընտրված հայտարարություն է, որը պահվում է տվյալների բազայում: Դիտումը կարող է օգտագործվել աղյուսակի հարաբերությունների տրամաբանությունը վերջնական օգտագործողներից թաքցնելու համար: Քանի որ դիտումը պահպանված հարցման արդյունք է, այն չի պահում որևէ տվյալ: Այն հավաքում է տվյալներ բազային աղյուսակներից և ցույց է տալիս: Դիտումները կարևոր դեր են խաղում նաև տվյալների անվտանգության մեջ: Երբ աղյուսակի սեփականատերը պետք է վերջնական օգտագործողներին ցուցադրի միայն տվյալների մի շարք, դիտման ստեղծումը լավ լուծում է: Դիտումները կարելի է բաժանել երկու կատեգորիայի

  • Թարմացվող դիտումներ (Դիտումներ, որոնք կարող են օգտագործվել INSERT, UPDATE և DELETE)
  • Չթարմացվող դիտումներ (Դիտումներ, որոնք չեն կարող օգտագործվել INSERT, UPDATE և DELETE)

Թարմացվող դիտումները չեն կարող ներառել հետևյալները, Սահմանել օպերատորներ (INTERSECT, MINUS, UNION, UNION ALL)

DISTINCT

Խմբի ագրեգատ գործառույթներ (AVG, COUNT, MAX, MIN, SUM և այլն)

ԽՈՒՄԲ ԸՍՏ ԿԵՏՈՎ

ՊԱՏՎԻՐԵԼ ըստ կետի

ՄԻԱՑՆԵԼ ԿՈՂՄԻՑկետով

ՍԿՍԵԼկետով

Հավաքածուի արտահայտություն ընտրված ցանկում

Ենթահղում ընտրացուցակում

Միանալ հարցմանը

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

Պահված ընթացակարգերը կոչվում են ծրագրավորման բլոկներ: Նրանք պետք է անուն ունենան: Պահված պրոցեդուրաներն ընդունում են պարամետրերը որպես օգտագործողի մուտքագրում և մշակում ընթացակարգի տրամաբանության համաձայն և տալիս են արդյունք (կամ կատարում են որոշակի գործողություն): Փոփոխական հայտարարագրերը, փոփոխականների նշանակումները, վերահսկման հայտարարությունները, հանգույցները, SQL հարցումները և այլ գործառույթներ/ընթացակարգ/փաթեթային զանգեր կարող են լինել ընթացակարգերի ներսում:

Ո՞րն է տարբերությունը Դիտման և Պահված ընթացակարգի միջև:

Եկեք տեսնենք այս երկուսի միջև եղած տարբերությունները:

• Դիտումները գործում են որպես վիրտուալ աղյուսակներ: Դրանք կարող են օգտագործվել անմիջապես SQL հարցումների փակումից (ընտրել), բայց ընթացակարգերը չեն կարող օգտագործվել հարցումների փակումից:

• Դիտումները որպես հիմնական նյութ ունեն միայն ընտրված հայտարարություն, սակայն ընթացակարգերը կարող են ունենալ փոփոխական հայտարարություններ, փոփոխականների նշանակումներ, վերահսկման հայտարարություններ, հանգույցներ, SQL հարցումներ և այլ գործառույթներ/ընթացակարգ/փաթեթի կանչեր:

• Ընթացակարգը ընդունում է պարամետրերը կատարելու համար, բայց դիտումները չեն ցանկանում, որ պարամետրերը կատարվեն:

• Գրառումների տեսակները կարող են ստեղծվել դիտումներից՝ օգտագործելով % ROWTYPE, սակայն ընթացակարգերի միջոցով՝ գրառումների տեսակները չեն կարող ստեղծվել:

• SQL ակնարկները կարող են օգտագործվել դիտման ընտրության հայտարարության ներսում՝ կատարման պլանը օպտիմալացնելու համար, սակայն SQL ակնարկները չեն կարող օգտագործվել պահպանված ընթացակարգերում:

• DELETE, INSERT, UPDATE, SELECT, FLASHBACK և DEBUG կարող են տրվել դիտումների դեպքում, բայց միայն EXECUTE և DEBUG կարող են տրվել ընթացակարգերի դեպքում:

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