Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle PLSQL въпроси за интервю

Ето компилацията от най-често задаваните въпроси за интервю за oracle plsql. Това със сигурност ще ви помогне в интервюто. Въпросите са от основни до напреднали нива и обхващат повечето аспекти на програмирането на PLSQL. Надявам се да намерите това за полезно

Въпрос (1) Какво е Oracle PLSQL?
Отговор
PL/SQL е разширение на процедурния език към езика за структурирани заявки (SQL). Целта на PL/SQL е да комбинира езика на базата данни и процедурния език за програмиране


Въпрос (2) Какви са компонентите на PL/SQL блок?
Отговор
Декларативна част, изпълнима част и изключение.

Въпрос (3) Какви са типовете данни, налични в PL/SQL?
Отговор
Някои скаларни типове данни като
NUMBER, VARCHAR2, DATE, CHAR, LONG, BOOLEAN.
Някои съставни типове данни, като RECORD &TABLE.

Въпрос (4) Какво е курсор? Защо курсорът е необходим?
Отговор
Курсорът е именувана частна SQL област, откъдето може да бъде достъпна информация.
Курсорите са длъжни да обработват редове поотделно за заявки, връщащи множество редове.

Въпрос (5)  Каква е разликата между процедура и функция?
Отговор

Функция Процедура
Функцията трябва да върне стойност Не е необходима процедура
Синтаксис 
Име на FUNCTION (списък с аргументи …..) Типът данни за връщане е
декларации на локални променливи
Начало
изпълними оператори
Изключение
материали за изпълнение
Край;
Синтаксис
Име на PROCEDURE (списък с параметри…..)
е
декларации на локални променливи
BEGIN
Изпълними оператори.
Изключение.
Обработващи изключения
край;
Функцията може да се използва в SQL с известно ограничение Процедурата не може да бъде извикана директно от SQL.

Въпрос (6) Каква е разликата между DELETE и TRUNCATE?
Отговор

Изтриване Отрязване
DELETE е DML команда TRUNCATE е DDL команда.
Синтаксис 
Изтриване на * от таблицата
Commit;
Синтаксис
Отрязване на таблица <име на таблица>;
Не променя знака за висока вода TRUNCATE повторно зададе блоковете памет след изпълнение, т.е. задава високото ниво на водата на обекта
Може да бъде връщане назад Не може да бъде връщане назад
Задействат се тригери за изтриване Няма да се задействат никакви тригери
Използват се сегменти за връщане назад Използват се по-малко сегменти за връщане назад и е много по-бързо

Въпрос (7) Какво е имплицитен курсор и изричен курсор?
Отговор

Неявен курсор Явен курсор
Неявният курсор се дефинира и контролира от Oracle вътрешно. Явен курсор се дефинира и контролира програмно.
Синтаксис 
деклариране
v_dept varchar2(50);
започнете
изберете dept в v_dept от dept, където location =‘XYZ’;
край;
Синтаксис
деклариране
v_dept varchar2(50);
Курсорът Cur_dept е изберете dept в v_dept от dept, където location =‘XYZ’;
започнете
Отворете Cur_dept;
Извличане на Cur_dept във v_dept;
Затвори Cur_dept;
край;
Всички заявки за избор/актуализация, използвани в PL/SQL блок, са имплицитен курсор Явен курсор е отворен, извличане и затваряне

Въпрос (8) Какво представляват rowid и rownum?
Отговор
Rowid е шестнадесетично уникално число за всеки ред от таблица, който се използва за търсене.
Rownum е уникално цяло число за всеки ред от таблица, която може да се използва за сортиране или анализ.

Въпрос (9)  Обяснете разликата между ФУНКЦИЯ, ПРОЦЕДУРА и ПАКЕТ
Отговор

Функция -Функцията има тип на връщане в своята спецификация и трябва да връща стойност, посочена в този тип.
-Те се съхраняват в компилиран вид в базата данни
– Функциите могат да бъдат извиквани навсякъде във валиден израз
Изберете fnd_profile.value('xyz)  от двойно;
Процедура -Процедурата няма тип връщане в своята спецификация и не трябва да връща никаква стойност, но може да има израз за връщане, който просто спира изпълнението й и се връща на повикващия
-Те се съхраняват в компилиран вид в базата данни
-Процедурите се извикват като самостоятелни изпълними оператори:my_proc(параметър1,параметър2…);
Пакети -Пакетите съдържат функции, процедури и други структури от данни.
– Предимствата на пакетите са модулност, по-лесен дизайн на приложението и информация.
Скриване, повторна употреба и по-добра производителност.
-Има редица разлики между пакетирани и неопаковани PL/SQL програми.
Пакет Данните в пакета са постоянни за продължителността на сесията на потребителя. По този начин данните в пакета съществуват при комитации в сесията.
-Ако предоставите привилегия за изпълнение на пакет, това е за всички функции и процедури и структури от данни в спецификацията на пакета. Не можете да предоставяте привилегии само на една процедура или функция в рамките на пакет.-Можете да претоварвате процедури и функции в рамките на пакет, като декларирате множество програми с едно и също име. Правилната програма, която да бъде извикана, се решава по време на изпълнение въз основа на броя на типовете данни на параметрите.

Въпрос (10)   Дефинирайте Commit, Rollback и Save-point.

Отговор

Отвързване Commit се използва, за да направи транзакцията постоянна
Следните неща се случват, когато се изпълни комит
a) Цялата работа, извършена от транзакцията, става постоянна.
b)Другите потребители могат да видят промените в данните, направени от транзакцията.
c )Всички заключвания, придобити от транзакцията, се освобождават.
Отмяна Отмяна се използва за отмяна на транзакцията .
Следните неща се случват, когато се изпълни връщане назад
a) Цялата работа, извършена от транзакцията, се отменя, сякаш не е била издадена.
b) Всички заключвания, придобити от транзакцията, се освобождават .
Точка за запис ТОЧКА НА ЗАПИСВАНЕ е точка от транзакция, когато можете да върнете транзакцията обратно до определен момент, без да връщате обратно цялата транзакция.

Въпрос (11)  Какво представляват SQLCODE и SQLERRM и защо са важни за разработчиците на PL/SQL?
Отговор

SQLCODE връща стойността на номера на грешката за последната срещана грешка. SQLERRM връща действителното съобщение за грешка за последната срещана грешка. Те могат да се използват при обработка на изключения, за да докладват, или да съхраняват в дневник на грешките грешката, възникнала в кода. Те са особено полезни за изключението WHEN OTHERS.

Въпрос (12) Как можете да намерите в PL/SQL блок, ако курсорът е отворен?
Отговор
Използвайте променливата за състоянието на курсора %ISOPEN.

Въпрос (13) Как можете да генерирате изход за отстраняване на грешки от PL/SQL?
Отговор
Използвайте пакета DBMS_OUTPUT. Друг възможен метод е просто да използвате командата SHOW ERROR, но това показва само грешки. Пакетът DBMS_OUTPUT може да се използва за показване на междинни резултати от цикли и състоянието на променливите при изпълнение на процедурата. Новият пакет UTL_FILE също може да се използва.

Въпрос (14) Какви са изключенията за PL/SQL?
Отговор
Някои от тях са
1.Твърде_много_редове
2.Няма_намерени_данни
3.Грешка_стойност
4.Нулева_грешка и т.н.

Въпрос (15) Какъв е максималният брой задействания, които можете да приложите върху една маса?
Отговор
12 задействания.

Въпрос (16) Кои са двете части на пакета?
Отговор
Двете части са спецификация на пакета и тяло на пакета
Те се състоят от спецификация на пакета, която съдържа заглавките на функциите, заглавките на процедурите и външно видимите структури от данни. Тялото на пакета съдържа секциите за декларация, изпълним файл и секции за обработка на изключения на всички пакетни процедури и функции.

Въпрос (17) Какво представлява претоварването на процедурите?
Отговор
Повтаряне на едно и също име на процедура с различен списък с параметри

Въпрос (18) Какви са режимите на параметри, които могат да бъдат предадени на процедура?
Отговор
Параметри IN, OUT, IN-OUT.

Въпрос (19) Каква команда бихте използвали за криптиране на PL/SQL приложение?
Отговор
ОБВИВАНЕ

Въпрос (20) Колко типа задействания съществуват в PL/SQL?
Отговор
Има 12 типа задействания в PL/SQL, които съдържат комбинацията от ПРЕДИ, СЛЕД, РЕД, ТАБЛИЦА, ВМЪКВАНЕ, АКТУАЛИЗИРАНЕ, ИЗТРИВАНЕ и ВСИЧКИ ключови думи.
◦ПРЕДИ ВСИЧКИ РЕД ВМЕСВАНЕ
◦СЛЕД ВСИЧКИ РЕДОВЕ ВМЕСВАНЕ
◦ПРЕДИ ВМЪКВАНЕ
◦СЛЕД ВМЪКВАНЕ и др.

Въпрос (21) Наименувайте таблиците, в които се съхраняват характеристиките на пакета, процедурата и функциите?
Отговор
dba_objects, dba_Source и dba_error.
или
user_objects,user_Source и user_error.

Въпрос (22) Какво представлява съхранената процедура?
Отговор
Съхранената процедура е поредица от изрази или наименуван PL/SQL блок, който изпълнява една или повече специфични функции. Това е подобно на процедура в други езици за програмиране. Той се съхранява в базата данни и може да се изпълнява многократно. Той се съхранява като обект на схема. Може да бъде вложен, извикан и параметризиран.

Въпрос (23) Как да изпълним съхранена процедура?
Отговор
Има два начина за изпълнение на съхранена процедура.
От SQL подканата напишете EXECUTE или EXEC, последвано от име_на_процедура

Въпрос (24) Какво е Raise_application_error?
Отговор
Raise_application_error е процедура на пакет DBMS_STANDARD, която позволява издаване на потребителски дефинирани съобщения за грешка от съхранена подпрограма или тригер на база данни.

Въпрос (25) Какво е Pragma EXECPTION_INIT? Обяснете употребата?
Отговор
PRAGMA EXCEPTION_INIT казва на компилатора да свърже изключение с грешка в оракула. За да получите съобщение за грешка за конкретна грешка в оракул.

напр. PRAGMA EXCEPTION_INIT (име на изключение, номер на грешка в оракул)

Надяваме се, че ви харесва тази компилация от въпроси за интервю за Oracle PlSQL. Ще публикувам още такива въпроси в бъдеще

Сродни връзки

Приложенията на Oracle интервюират въпроси и отговори

въпроси за интервю за Oracle dba

Въпроси за интервю за Oracle RAC

Въпроси за интервю за Weblogic

Надяваме се, че ви харесва компилацията от въпроси за интервю за oracle plsql. Моля, предоставете обратната връзка


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Кога трябва да използвам точка и запетая срещу наклонена черта в Oracle SQL?

  2. как да дублирам моите sql резултати?

  3. Тип дата без час в Oracle

  4. Как Java за OS X 2013-004 засяга (прекъсва) Swing приложения?

  5. Не може да се компилира GI 12.1.0.2 и грешка при сегментиране