Көрүү менен Сакталган процедуранын ортосундагы айырма

Мазмуну:

Көрүү менен Сакталган процедуранын ортосундагы айырма
Көрүү менен Сакталган процедуранын ортосундагы айырма

Video: Көрүү менен Сакталган процедуранын ортосундагы айырма

Video: Көрүү менен Сакталган процедуранын ортосундагы айырма
Video: "Кыйын учурда курбум чоң сумма менен сактап калды" дейт Гүлжайна Атаканова 2024, Ноябрь
Anonim

Көрүү жана сакталган процедура

Көрүүлөр жана сакталган процедуралар база объекттеринин эки түрү. Көрүүлөр - бул бир же бир нече таблицадан маалыматтарды чогултуучу сакталган сурамдардын түрү. Бул жердекөрүнүштү түзүү синтаксиси

көрүү атын түзүү же алмаштыруу

as

select_statement;

Сакталган процедура – бул алдын ала компиляцияланган SQL командалар топтому, ал маалымат базасынын серверинде сакталат. Ар бир сакталган процедуранын чакыруу аты бар, ал аларды башка пакеттердин, процедуралардын жана функциялардын ичинде чакыруу үчүн колдонулат. Бул сакталган процедураны түзүү үчүн синтаксис (ORACLEде), процедуранын атын түзүү же алмаштыруу (параметрлер)

бул

баштоо

билдирүүлөр;

өзгөчө

өзгөчө_башкаруу

аягы;

Көрүү

А Көрүнүш виртуалдык үстөл катары иштейт. Ал өзүнүн корпусунун ичинде тандалган билдирүүнү жашырат. Бул тандоо билдирүүсү өтө татаал болушу мүмкүн, ал бир нече таблицалардан жана көрүнүштөрдөн маалыматтарды алат. Демек, башка сөз менен айтканда, көрүнүш маалымат базасында сакталган аталган тандоо оператору болуп саналат. Көрүнүш акыркы колдонуучулардан стол мамилелеринин артындагы логиканы жашыруу үчүн колдонулушу мүмкүн. Көрүнүш сакталган суроонун натыйжасы болгондуктан, ал эч кандай маалыматты сактабайт. Ал базалык таблицалардан маалыматтарды чогултат жана көрсөтөт. Көрүүлөр маалымат коопсуздугунда да маанилүү ролду ойнойт. Таблица ээси акыркы колдонуучуларга маалыматтардын гана топтомун көрсөтүү керек болгондо, көрүнүш түзүү жакшы чечим болуп саналат. Көрүүлөрдү эки категорияга бөлсө болот

  • Жаңырталуучу көрүнүштөр (КЫРУУ, ЖАҢЫРТУУ жана ЖОК КЫЛУУ үчүн колдонула турган көрүнүштөр)
  • Жаңыртылбаган көрүнүштөр (КЫРЫШ, ЖАҢЫРТУУ жана ЖОК КЫЛУУ үчүн колдонулбайт)

Жаңырталуучу көрүнүштөр төмөнкүлөрдү камтышы мүмкүн эмес, Операторлорду коюу (INTERSECT, MINUS, UNION, UNION ALL)

DISTINCT

Топтун агрегаттык функциялары (AVG, COUNT, MAX, MIN, SUM, ж.б.)

БӨЛӨМ БОЮНЧА ТОПТОО

БАТТА БЕРҮҮ

БӨЛӨМ МЕНЕН ТУШУҢУЗ

БӨЛБӨМӨН БАШТАЛУУ

Тандалган тизмедеги жыйнак туюнтмасы

Тандалган тизмедеги кошумча суроо

Суроого кошулуу

Сакталган процедура

Сакталган процедуралар программалоо блоктору деп аталат. Алардын аты болушу керек. Сакталган процедуралар процедуранын артында турган логикага ылайык колдонуучу киргизүү жана процесс катары параметрлерди кабыл алат жана натыйжаны берет (же белгилүү бир аракетти аткарат). Өзгөрмө декларациялары, өзгөрмө дайындоолору, башкаруу операторлору, циклдер, SQL сурамдары жана башка функциялар/процедуралар/пакет чалуулары процедуралардын корпусунун ичинде болушу мүмкүн.

Көрүү менен Сакталган процедуранын ортосунда кандай айырма бар?

Бул экөөнүн ортосундагы айырманы карап көрөлү.

• Көрүүлөр виртуалдык таблицалар катары иштейт. Аларды түздөн-түз SQL сурамдарынын жабылышынан колдонууга болот (тандоо), бирок процедураларды сурамдардын жабылышынан колдонууга болбойт.

• Көрүнүштөрдүн негизги бөлүгү катары тандалган билдирүү гана болот, бирок процедураларда Өзгөрмө декларациялары, өзгөрмө дайындоолору, башкаруу билдирүүлөрү, циклдер, SQL сурамдары жана башка функциялар/процедуралар/пакет чалуулары анын негизги бөлүгү катары болушу мүмкүн.

• Процедура аткаруу үчүн параметрлерди кабыл алат, бирок көрүнүштөр параметрлердин аткарылышын каалабайт.

• Жазуу түрлөрүн % ROWTYPE аркылуу көрүүлөрдөн түзсө болот, бирок процедураларды колдонуу менен жазуу түрлөрүн түзүү мүмкүн эмес.

• SQL кыйытмаларын аткаруу планын оптималдаштыруу үчүн көрүү тандоо операторунун ичинде колдонсо болот, бирок SQL кеңештерин сакталган процедураларда колдонууга болбойт.

• ЖОК КОЮУ, КЫШЫРУУ, ЖАҢЫРТУУ, ТАНДОО, ФЛЕШБЕКТ жана МҮЧӨЧҮЛҮКТӨРГӨ КӨРСӨТҮҮ көрүүлөрдө берилиши мүмкүн, бирок жол-жоболордо АТКАРЫЛУУ жана МҮЧӨЛӨКТҮ АЖЫРАТУУ гана берилиши мүмкүн.

Сунушталууда: