Көру мен сақталған процедура арасындағы айырмашылық

Мазмұны:

Көру мен сақталған процедура арасындағы айырмашылық
Көру мен сақталған процедура арасындағы айырмашылық

Бейне: Көру мен сақталған процедура арасындағы айырмашылық

Бейне: Көру мен сақталған процедура арасындағы айырмашылық
Бейне: Скотт Риттер мен Джефф Норман Қырым көпіріндегі шабуылды талқылап, аудиторияның сұрақтарына жауап бе 2024, Қараша
Anonim

Көру және Сақталған процедура

Көріністер мен сақталған процедуралар дерекқор нысандарының екі түрі болып табылады. Көріністер - бір немесе бірнеше кестелерден деректерді жинайтын сақталған сұраулар түрі. Міне,көрінісін жасау синтаксисі

көрініс атауын жасау немесе ауыстыру

select_statement;

Сақталған процедура – дерекқор серверінде сақталатын алдын ала құрастырылған SQL пәрмендер жинағы. Әрбір сақталатын процедураның шақыратын аты бар, ол оларды басқа бумалар, процедуралар және функциялар ішінде шақыру үшін қолданылады. Бұл сақталатын процедураны жасауға арналған синтаксис (ORACLE-де), процедураның процедура атын жасау немесе ауыстыру (параметрлер)

бұл

бастау

мәлімдемелер;

ерекшелік

ерекше_өңдеу

соңы;

Көру

Көрініс виртуалды кесте ретінде әрекет етеді. Ол өз денесінің ішінде таңдау мәлімдемесін жасырады. Бұл таңдау мәлімдемесі бірнеше кестелер мен көріністерден деректерді алатын өте күрделі болуы мүмкін. Демек, басқаша айтқанда, көрініс дерекқорда сақталатын атаулы таңдау операторы болып табылады. Көрініс соңғы пайдаланушылардан кесте қатынастарының артындағы логиканы жасыру үшін пайдаланылуы мүмкін. Көрініс сақталған сұраудың нәтижесі болғандықтан, ол ешқандай деректерді сақтамайды. Ол негізгі кестелерден деректерді жинайды және көрсетеді. Көріністер деректер қауіпсіздігінде де маңызды рөл атқарады. Кесте иесі соңғы пайдаланушыларға тек деректер жинағын көрсетуі қажет болғанда, көрініс жасау жақсы шешім болып табылады. Көрулерді екі санатқа бөлуге болады

  • Жаңартылатын көріністер (КІРУ, ЖАҢАРТУ және ЖОЮ үшін пайдалануға болатын көріністер)
  • Жаңартуға жатпайтын көріністер (КІРУ, ЖАҢАРТУ және ЖОЮ үшін пайдаланылмайтын көріністер)

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

ерекше

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

БӨЛІМ БОЙЫНША ТОПТАУ

БҰЗУ.

ҚОСЫЛУ

БАСТАУ

Таңдалған тізімдегі жинақ өрнегі

Таңдалған тізімдегі ішкі сұрау

Сұрауға қосылу

Сақталған процедура

Сақталған процедуралар бағдарламалау блоктары деп аталады. Олардың қоңырау шалатын аты болуы керек. Сақталған процедуралар пайдаланушы енгізуі ретінде параметрлерді қабылдайды және процедураның артындағы логикаға сәйкес процесс жасайды және нәтиже береді (немесе белгілі бір әрекетті орындайды). Айнымалылар туралы мәлімдемелер, айнымалыларды тағайындаулар, басқару мәлімдемелері, циклдар, SQL сұраулары және басқа функциялар/процедура/бума шақырулары процедуралар денесінің ішінде болуы мүмкін.

Көру мен сақталған процедураның айырмашылығы неде?

Осы екеуінің айырмашылығын көрейік.

• Көріністер виртуалды кестелер ретінде әрекет етеді. Оларды тікелей SQL сұрауларының жабылуында (таңдаңыз) пайдалануға болады, бірақ процедураларды сұраулардың жабылуында пайдалану мүмкін емес.

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

• Процедура орындалатын параметрлерді қабылдайды, бірақ көріністер параметрлердің орындалуын қаламайды.

• Жазба түрлерін % ROWTYPE көмегімен көріністерден жасауға болады, бірақ процедураларды пайдалану арқылы жазба түрлерін жасау мүмкін емес.

• SQL кеңестерін орындау жоспарын оңтайландыру үшін көрініс таңдау мәлімдемесі ішінде пайдалануға болады, бірақ SQL кеңестерін сақталған процедураларда пайдалану мүмкін емес.

• ЖОЮ, ЕНГІЗУ, ЖАҢАРТУ, ТАҢДАУ, ЖЫЛДАЙ КӨРСЕТУ және ЖАҢАЛЫҚТЫ ОТЫРУ мүмкіндігін көріністерде беруге болады, бірақ процедураларда тек ОРЫНДАУ және ЖАҢАЛЫҚТЫ ҚҰРУ мүмкіндігін беруге болады.

Ұсынылған: