Oracle
 sql >> Baza danych >  >> RDS >> Oracle

pytania do rozmowy kwalifikacyjnej Oracle PLSQL

Oto zestawienie najczęściej zadawanych pytań do wywiadu oracle plsql. To z pewnością pomoże ci w rozmowie kwalifikacyjnej. Pytania są od poziomu podstawowego do zaawansowanego i obejmują większość aspektów programowania w PLSQL. Mam nadzieję, że okaże się to przydatne

Pytanie (1) Co to jest Oracle PLSQL?
Odpowiedź
PL/SQL jest rozszerzeniem języka proceduralnego do języka Structured Query Language (SQL). Celem PL/SQL jest połączenie języka baz danych i proceduralnego języka programowania


Pytanie(2) Jakie są składniki bloku PL/SQL?
Odpowiedź
Część deklaratywna, część wykonywalna i część wyjątku.

Pytanie (3) Jakie typy danych są dostępne w PL/SQL?
Odpowiedź
Niektóre skalarne typy danych, takie jak
NUMBER, VARCHAR2, DATE, CHAR, LONG, BOOLEAN.
Niektóre złożone typy danych, takie jak RECORD &TABLE.

Pytanie (4) Czym jest kursor? Dlaczego kursor jest wymagany?
Odpowiedź
Kursor to nazwany prywatny obszar SQL, z którego można uzyskać dostęp do informacji.
Kursory są wymagane do indywidualnego przetwarzania wierszy w przypadku zapytań zwracających wiele wierszy.

Pytanie (5)  Jaka jest różnica między procedurą a funkcją?
Odpowiedź

Funkcja Procedura
Funkcja musi zwrócić wartość Procedura nie musi
Składnia 
Nazwa FUNKCJI (lista argumentów …..) Zwracany typ danych to
deklaracje zmiennych lokalnych
Rozpocznij
wykonywalne instrukcje
Wyjątek
obsługujące wykonanie
End;
Składnia
PROCEDURA nazwa (lista parametrów…..)
to
deklaracje zmiennych lokalnych
BEGIN
Instrukcje wykonywalne.
Wyjątki.
Obsługa wyjątków
koniec;
Funkcja może być używana w SQL z pewnymi ograniczeniami Procedura nie może być wywołana bezpośrednio z SQL.

Pytanie (6) Jaka jest różnica między DELETE a TRUNCATE?
Odpowiedź

Usuń Przytnij
DELETE to polecenie DML TRUNCATE to polecenie DDL.
Składnia 
Usuń * z tabeli
Zatwierdź;
Składnia
Obetnij tabelę ;
Nie zmienia znaku wysokiego poziomu TRUNCATE resetuje bloki pamięci po wykonaniu, tj. ustawia znak górny obiektu
Może być cofnięty Nie można go cofnąć
Uruchomiony wyzwalacz usuwania Żadne wyzwalacze nie zostaną uruchomione
Segmenty wycofania są używane Użyto mniej segmentów wycofywania i jest to znacznie szybsze

Pytanie (7) Co to jest niejawny kursor i wyraźny kursor?
Odpowiedź

Kursor niejawny Wyraźny kursor
Niejawny kursor jest zdefiniowany i kontrolowany przez Oracle wewnętrznie. Wyraźny kursor jest zdefiniowany i kontrolowany programowo.
Składnia 
deklaruj
v_dept varchar2(50);
rozpocznij
wybierz dział do działu v_od działu, gdzie lokalizacja =„XYZ”;
koniec;
Składnia
deklaruj
v_dept varchar2(50);
Kursor Cur_dept to wybierz dział do v_dept z działu, gdzie lokalizacja =„XYZ”;
rozpocznij
Otwórz dział_przebiegu;
Pobierz dział_kr do v_dept;
Zamknij dział_przebiegu;
koniec;
Wszystkie zapytania wyboru/aktualizacji używane w bloku PL/SQL są niejawnym kursorem Wyraźny kursor jest otwarty, pobierz i zamknij

Pytanie (8) Co to są rowid i rownum?
Odpowiedź
Rowid to unikatowa liczba szesnastkowa dla każdego wiersza tabeli, która jest używana do wyszukiwania.
Rownum to unikalna liczba całkowita dla każdego wiersza tabeli, który może być używany do sortowania lub analizy.

Pytanie (9)  Wyjaśnij różnicę między FUNKCJĄ, PROCEDURĄ i PAKIETEM
Odpowiedź

Funkcja -Funkcja ma w specyfikacji typ zwracany i musi zwracać wartość określoną w tym typie.
-Są one przechowywane w postaci skompilowanej w bazie danych
- Funkcje można wywoływać w dowolnym miejscu wyrażenie
Wybierz fnd_profile.value('xyz)  z dual;
Procedura -Procedura nie ma typu zwracanego w swojej specyfikacji i nie powinna zwracać żadnej wartości, ale może mieć instrukcję return, która po prostu zatrzymuje jej wykonywanie i zwraca do wywołującego
-Są one przechowywane w postaci skompilowanej w bazie danych
-Procedury są wywoływane jako samodzielne instrukcje wykonywalne:my_proc(parametr1,parametr2…);
Pakiety -Pakiety zawierają funkcje, procedury i inne struktury danych.
– Zalety pakietów to modułowość, łatwiejsze projektowanie aplikacji i informacje.
Ukrywanie, ponowne wykorzystanie i lepsza wydajność.
-Istnieje wiele różnic między programami PL/SQL w pakietach i bez pakietów.
Pakiet Dane w pakiecie są trwałe przez czas trwania sesji użytkownika. W ten sposób dane w pakiecie istnieją między zatwierdzeniami w sesji.
-Jeśli przyznasz uprawnienie do wykonywania w pakiecie, będą one dotyczyć wszystkich funkcji i procedur oraz struktur danych w specyfikacji pakietu. Nie możesz przyznać uprawnień tylko do jednej procedury lub funkcji w pakiecie. -Możesz przeciążać procedury i funkcje w pakiecie, deklarując wiele programów o tej samej nazwie. Wybór odpowiedniego programu do wywołania jest ustalany w czasie wykonywania, na podstawie liczby typów danych parametrów.

Pytanie (10) Zdefiniuj punkt zatwierdzania, wycofywania i zapisywania.

Odpowiedź.

Zatwierdź Zatwierdź służy do utrwalenia transakcji
Po wykonaniu zatwierdzenia dzieją się następujące rzeczy
a)Cała praca wykonana przez transakcję staje się trwała.
b)Inni użytkownicy mogą zobaczyć zmiany w danych dokonanych przez transakcję.
c )Wszelkie blokady nabyte w ramach transakcji są zwalniane.
Wycofanie Wycofanie służy do cofnięcia transakcji .
Po wykonaniu wycofania dzieją się następujące rzeczy
a) Cała praca wykonana przez transakcję jest cofana, tak jakby nie została wydana.
b) Wszelkie blokady nabyte przez transakcję są zwalniane .
Punkt zapisu PUNKT ZAPISU to punkt w transakcji, w którym możesz cofnąć transakcję do określonego punktu bez cofnięcia całej transakcji.

Pytanie (11)  Co to są SQLCODE i SQLERRM i dlaczego są ważne dla programistów PL/SQL?
Odpowiedź

SQLCODE zwraca wartość numeru błędu dla ostatniego napotkanego błędu. SQLERRM zwraca aktualny komunikat o błędzie dla ostatniego napotkanego błędu. Mogą być używane w obsłudze wyjątków do zgłaszania lub przechowywania w tabeli dziennika błędów błędu, który wystąpił w kodzie. Są one szczególnie przydatne w przypadku wyjątku WHEN OTHERS.

Pytanie (12) Jak znaleźć w bloku PL/SQL, jeśli kursor jest otwarty?
Odpowiedź
Użyj zmiennej statusu kursora %ISOPEN.

Pytanie (13) Jak możesz wygenerować wyniki debugowania z PL/SQL?
Odpowiedź
Użyj pakietu DBMS_OUTPUT. Inną możliwą metodą jest użycie polecenia SHOW ERROR, ale to pokazuje tylko błędy. Pakiet DBMS_OUTPUT może służyć do pokazywania wyników pośrednich z pętli i statusu zmiennych podczas wykonywania procedury. Można również użyć nowego pakietu UTL_FILE.

Pytanie (14) Co to są wyjątki PL/SQL?
Odpowiedź
Niektóre z nich to
1.Zbyt_wiele_wierszy
2.Nie znaleziono_danych
3.Błąd_wartości
4.Błąd_zero itp.

Pytanie (15) Jaka jest maksymalna liczba wyzwalaczy, które możesz zastosować w jednej tabeli?
Odpowiedź
12 wyzwalaczy.

Pytanie (16) Jakie są dwie części pakietu?
Odpowiedź
Dwie części to specyfikacja pakietu i treść pakietu
Składają się one ze specyfikacji pakietu, która zawiera nagłówki funkcji, nagłówki procedur i widoczne z zewnątrz struktury danych. Treść pakietu zawiera deklarację, plik wykonywalny i sekcje obsługi wyjątków wszystkich dołączonych procedur i funkcji.

Pytanie (17) Co to jest przeciążenie procedur?
Odpowiedź
Powtarzanie tej samej nazwy procedury z inną listą parametrów

Pytanie (18) Jakie są tryby parametrów, które można przekazać do procedury?
Odpowiedź
Parametry WE, WY, WE-WY.

Pytanie (19) Jakiego polecenia użyjesz do zaszyfrowania aplikacji PL/SQL?
Odpowiedź
WRAP

Pytanie (20) Ile typów wyzwalaczy istnieje w PL/SQL?
Odpowiedź
W PL/SQL występuje 12 typów wyzwalaczy, które zawierają kombinację słów kluczowych BEFORE, AFTER, ROW, TABLE, INSERT, UPDATE, DELETE i ALL.
◦BEFORE ALL ROW INSERT
◦PO WSTAWIENIU WSZYSTKICH RZĘDÓW
◦PRZED WSTAWIENIEM
◦PO WSTAWIENIU itd.

Pytanie (21) Nazwij tabele, w których przechowywane są właściwości pakietu, procedury i funkcji?
Answer
dba_objects, dba_Source i dba_error.
lub
user_objects,user_Source i user_error.

Pytanie (22) Co to jest procedura przechowywana?
Odpowiedź
Procedura składowana to sekwencja instrukcji lub nazwany blok PL/SQL, który wykonuje jedną lub więcej określonych funkcji. Jest podobny do procedury w innych językach programowania. Jest przechowywany w bazie danych i może być wielokrotnie wykonywany. Jest przechowywany jako obiekt schematu. Może być zagnieżdżany, wywoływany i parametryzowany.

Pytanie (23) Jak wykonać procedurę składowaną?
Odpowiedź
Istnieją dwa sposoby wykonania procedury składowanej.
W wierszu polecenia SQL wpisz EXECUTE lub EXEC, a następnie procedura_nazwa

Pytanie (24) Co to jest Raise_application_error?
Odpowiedź
Raise_application_error to procedura pakietu DBMS_STANDARD, która umożliwia wysyłanie komunikatów o błędach zdefiniowanych przez użytkownika z zapisanego podprogramu lub wyzwalacza bazy danych.

Pytanie (25) Co to jest Pragma EXECPTION_INIT? Wyjaśnij użycie?
Odpowiedź
Pragma EXCEPTION_INIT mówi kompilatorowi, aby powiązał wyjątek z błędem wyroczni. Aby otrzymać komunikat o błędzie dotyczący określonego błędu Oracle.

np. PRAGMA EXCEPTION_INIT (nazwa wyjątku, numer błędu wyroczni)

Mam nadzieję, że spodobała Ci się ta kompilacja pytań do rozmowy kwalifikacyjnej Oracle PlSQL. W przyszłości opublikuję więcej takich pytań

Powiązane linki

Pytania i odpowiedzi dotyczące aplikacji Oracle

pytania do rozmowy kwalifikacyjnej Oracle dba

Pytania do rozmowy kwalifikacyjnej Oracle RAC

Pytania do rozmowy kwalifikacyjnej Weblogic

Mam nadzieję, że podoba Ci się kompilacja pytań do wywiadu oracle plsql. Prosimy o przesłanie opinii


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-00984:kolumna nie jest tutaj dozwolona

  2. Zapytanie do obliczenia zarówno skumulowanej, jak i całkowitej sumy nad wynagrodzeniem

  3. Pierwsze kroki z Oracle Application Express-APEX

  4. AWS Python Lambda z Oracle

  5. Oracle:wyeksportuj tabelę z blobami do pliku .sql, który można ponownie zaimportować