Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

câu hỏi phỏng vấn oracle PLSQL

Dưới đây là tổng hợp các câu hỏi oracle plsql phỏng vấn thường gặp nhất. Những điều này chắc chắn sẽ giúp bạn trong cuộc phỏng vấn. Các câu hỏi ở cấp độ từ cơ bản đến nâng cao và bao gồm hầu hết các khía cạnh của lập trình PLSQL. Tôi hy vọng bạn thấy điều này hữu ích

Câu hỏi (1) Oracle PLSQL là gì?
Trả lời
PL / SQL là một phần mở rộng ngôn ngữ thủ tục cho Ngôn ngữ truy vấn có cấu trúc (SQL). Mục đích của PL / SQL là kết hợp ngôn ngữ cơ sở dữ liệu và ngôn ngữ lập trình thủ tục


Câu hỏi (2) Các thành phần của Khối PL / SQL là gì?
Trả lời
Phần khai báo, Phần thực thi và Phần ngoại lệ.

Câu hỏi (3) Các kiểu dữ liệu có sẵn trong PL / SQL là gì?
Trả lời
Một số kiểu dữ liệu vô hướng như
NUMBER, VARCHAR2, DATE, CHAR, LONG, BOOLEAN.
Một số kiểu dữ liệu tổng hợp như RECORD &TABLE.

Câu hỏi (4) Con trỏ là gì? Tại sao con trỏ là bắt buộc?
Trả lời
Con trỏ là một vùng SQL riêng được đặt tên mà từ đó thông tin có thể được truy cập.
Con trỏ được yêu cầu để xử lý các hàng riêng lẻ đối với các truy vấn trả về nhiều hàng.

Câu hỏi (5) Sự khác biệt giữa Thủ tục và Hàm là gì?
Trả lời

Chức năng Quy trình
Hàm phải trả về một giá trị Thủ tục không cần
Cú pháp
Tên hàm (danh sách đối số… ..) Kiểu dữ liệu trả về là
khai báo biến cục bộ
Bắt đầu
câu lệnh thực thi
Ngoại lệ
trình xử lý thực thi
Kết thúc;
Cú pháp
Tên PROCEDURE (danh sách tham số… ..)

khai báo biến cục bộ
BEGIN
câu lệnh thực thi.
Ngoại lệ.
trình xử lý ngoại lệ
end;
Hàm có thể được sử dụng trong SQL với một số hạn chế Không thể gọi thủ tục trực tiếp từ SQL.

Câu hỏi (6) Sự khác biệt giữa DELETE và TRUNCATE là gì?
Trả lời

Delete Cắt ngắn
DELETE là một lệnh DML TRUNCATE là một lệnh DDL.
Cú pháp
Xóa * khỏi bảng
Cam kết;
Cú pháp
Cắt ngắn bảng ;
Nó không thay đổi vạch mực nước cao TRUNCATE thiết lập lại các khối bộ nhớ sau khi thực thi, tức là nó đặt dấu nước cao của đối tượng
Nó có thể được khôi phục lại Không thể khôi phục lại
Xóa trình kích hoạt được kích hoạt Sẽ không có trình kích hoạt nào được kích hoạt
Phân đoạn khôi phục được sử dụng Ít phân đoạn khôi phục hơn được sử dụng và nó nhanh hơn nhiều

Câu hỏi (7) Con trỏ ngầm và con trỏ rõ ràng là gì?
Trả lời

Con trỏ ngầm Con trỏ rõ ràng
Con trỏ ngầm được Oracle định nghĩa và kiểm soát nội bộ. Con trỏ rõ ràng được xác định và điều khiển theo chương trình.
Cú pháp
khai báo
v_dept varchar2 (50);
begin
chọn dept into v_dept from dept where location =‘XYZ’;
kết thúc;
Cú pháp
khai báo
v_dept varchar2 (50);
Con trỏ Cur_dept được chọn dept vào v_dept từ dept where location =‘XYZ’;
begin
Mở Cur_dept;
Tìm nạp Cur_dept vào v_dept;
Đóng Cur_dept;
kết thúc;
Tất cả truy vấn chọn / cập nhật được sử dụng trong khối PL / SQL là một con trỏ ngầm Con trỏ rõ ràng đang mở, tìm nạp và đóng

Câu hỏi (8) Rowid và rownum là gì?
Câu trả lời
Rowid là một số duy nhất trong hệ thập lục phân cho mỗi hàng của bảng được sử dụng để tìm kiếm.
Rownum là một số nguyên duy nhất cho mỗi hàng của bảng. có thể được sử dụng để phân loại hoặc phân tích.

Câu hỏi (9) Giải thích sự khác biệt giữa CHỨC NĂNG, THỦ TỤC và TRỌN GÓI
Câu trả lời

Hàm -Một hàm có kiểu trả về trong đặc tả của nó và phải trả về giá trị được chỉ định trong kiểu đó.
-Chúng được lưu trữ ở dạng biên dịch trong cơ sở dữ liệu
- Các hàm có thể được gọi ở bất kỳ đâu trong một biểu thức
Chọn fnd_profile.value ('xyz) từ kép;
Thủ tục -Một thủ tục không có kiểu trả về trong đặc tả của nó và không nên trả về bất kỳ giá trị nào, nhưng nó có thể có câu lệnh trả về chỉ đơn giản là dừng thực thi và quay trở lại trình gọi
-Chúng được lưu trữ ở dạng đã biên dịch trong cơ sở dữ liệu
-Các thủ tục được gọi là câu lệnh thực thi độc lập:my_proc (tham số1, tham số2…);
Gói -Các gói chứa các hàm, thủ tục và các cấu trúc dữ liệu khác.
- Ưu điểm của gói là Tính mô-đun, Thiết kế ứng dụng dễ dàng hơn và Thông tin.
Ẩn, Khả năng tái sử dụng và Hiệu suất tốt hơn.
-Có một số điểm khác biệt giữa chương trình PL / SQL được đóng gói và không được đóng gói.
Gói Dữ liệu trong gói là liên tục trong suốt phiên của người dùng. Do đó, dữ liệu trong gói tồn tại trên các cam kết trong phiên.
-Nếu bạn cấp đặc quyền thực thi trên một gói, thì đặc quyền này dành cho tất cả các chức năng và thủ tục cũng như cấu trúc dữ liệu trong đặc tả gói. Bạn không thể cấp đặc quyền cho chỉ một thủ tục hoặc hàm trong một gói. - Bạn có thể nạp chồng các thủ tục và hàm trong một gói, khai báo nhiều chương trình có cùng tên. Chương trình chính xác được gọi được quyết định trong thời gian chạy, dựa trên số lượng kiểu dữ liệu của các tham số.

Câu hỏi (10) Xác định cam kết, khôi phục và điểm lưu.

Trả lời.

Cam kết Cam kết được sử dụng để thực hiện giao dịch vĩnh viễn
Những điều sau đây sẽ xảy ra khi một cam kết được thực hiện
a) Tất cả công việc được thực hiện bởi giao dịch sẽ trở thành vĩnh viễn.
b) Những người dùng khác có thể thấy những thay đổi trong dữ liệu do giao dịch thực hiện.
c ) Mọi ổ khóa do giao dịch mua được sẽ được giải phóng.
Khôi phục Khôi phục được sử dụng để hoàn tác giao dịch .
Những điều sau đây sẽ xảy ra khi quá trình khôi phục được thực hiện
a) Tất cả công việc được thực hiện bởi giao dịch sẽ được hoàn tác như thể nó chưa được phát hành.
b) Mọi khóa do giao dịch có được sẽ được giải phóng .
Điểm lưu SAVEPOINT là một điểm trong giao dịch khi bạn có thể chuyển giao dịch trở lại một điểm nhất định mà không cần lùi lại toàn bộ giao dịch.

Câu hỏi (11) SQLCODE và SQLERRM là gì và tại sao chúng lại quan trọng đối với các nhà phát triển PL / SQL?
Trả lời

SQLCODE trả về giá trị của số lỗi cho lỗi cuối cùng gặp phải. SQLERRM trả về thông báo lỗi thực tế cho lỗi cuối cùng gặp phải. Chúng có thể được sử dụng trong xử lý ngoại lệ để báo cáo, hoặc lưu trữ trong bảng nhật ký lỗi, lỗi xảy ra trong mã. Những điều này đặc biệt hữu ích cho trường hợp ngoại lệ KHI NGƯỜI KHÁC.

Câu hỏi (12) Làm cách nào bạn có thể tìm thấy trong khối PL / SQL, nếu con trỏ đang mở?
Trả lời
Sử dụng biến trạng thái con trỏ% ISOPEN.

Câu hỏi (13) Làm cách nào bạn có thể tạo đầu ra gỡ lỗi từ PL / SQL?
Trả lời
Sử dụng gói DBMS_OUTPUT. Một phương pháp khả thi khác là chỉ sử dụng lệnh SHOW ERROR, nhưng lệnh này chỉ hiển thị lỗi. Gói DBMS_OUTPUT có thể được sử dụng để hiển thị kết quả trung gian từ các vòng lặp và trạng thái của các biến khi thủ tục được thực thi. Gói mới UTL_FILE cũng có thể được sử dụng.

Câu hỏi (14) Các ngoại lệ PL / SQL là gì?
Trả lời
Một số trong số đó là
1.Too_many_rows
2.No_Data_Found
3.Value_error
4.Zero_error, v.v.

Câu hỏi (15) Số lượng trình kích hoạt tối đa mà bạn có thể áp dụng trên một bảng là bao nhiêu?
Trả lời
12 trình kích hoạt.

Câu hỏi (16) Hai phần của gói là gì?
Trả lời
Hai phần là đặc tả gói và nội dung gói
Chúng bao gồm đặc tả gói, chứa tiêu đề hàm, tiêu đề thủ tục và cấu trúc dữ liệu có thể nhìn thấy bên ngoài. Phần thân gói chứa phần khai báo, phần thực thi và phần xử lý ngoại lệ của tất cả các thủ tục và chức năng đi kèm.

Câu hỏi (17) Nạp chồng các thủ tục là gì?
Trả lời
Lặp lại cùng một tên thủ tục với một danh sách tham số khác

Câu hỏi (18) Các chế độ tham số có thể được truyền cho một thủ tục là gì?
Trả lời Tham số
IN, OUT, IN-OUT.

Câu hỏi (19) Bạn sẽ sử dụng lệnh nào để mã hóa ứng dụng PL / SQL?
Trả lời
VIẾT

Câu hỏi (20) Có bao nhiêu loại trình kích hoạt tồn tại trong PL / SQL?
Trả lời
Có 12 loại trình kích hoạt trong PL / SQL chứa sự kết hợp của BEFORE, AFTER, ROW, TABLE, INSERT, UPDATE, DELETE và ALL từ khóa.
◦BEFORE ALL ROW INSERT
◦ CHÈN LÀM MỀM TẤT CẢ
◦ CHÈN TRƯỚC
◦ CHÈN PHẦN MỀM, v.v.

Câu hỏi (21) Đặt tên cho các bảng nơi lưu trữ các đặc điểm của Gói, thủ tục và hàm?
Trả lời
dba_objects, dba_Source và dba_error.
hoặc
user_objects, user_Source và user_error.

Câu hỏi (22) Thủ tục được lưu trữ là gì?
Trả lời
Thủ tục được lưu trữ là một chuỗi các câu lệnh hoặc một khối PL / SQL được đặt tên để thực hiện một hoặc nhiều chức năng cụ thể. Nó tương tự như một thủ tục trong các ngôn ngữ lập trình khác. Nó được lưu trữ trong cơ sở dữ liệu và có thể được thực thi nhiều lần. Nó được lưu trữ dưới dạng một đối tượng lược đồ. Nó có thể được lồng vào nhau, được gọi và được tham số hóa.

Câu hỏi (23) Làm cách nào để thực thi một thủ tục được lưu trữ?
Trả lời
Có hai cách để thực thi một thủ tục đã lưu trữ.
Từ lời nhắc SQL, hãy viết EXECUTE hoặc EXEC theo sau là procedure_name

Câu hỏi (24) Raise_application_error là gì?
Câu trả lời
Raise_application_error là một thủ tục của gói DBMS_STANDARD cho phép đưa ra các thông báo lỗi do người dùng xác định từ trình kích hoạt cơ sở dữ liệu hoặc chương trình con được lưu trữ.

Câu hỏi (25) Pragma EXECPTION_INIT là gì? Giải thích cách sử dụng?
Trả lời
PRAGMA EXCEPTION_INIT yêu cầu trình biên dịch liên kết một ngoại lệ với một lỗi tiên tri. Để nhận được thông báo lỗi về một lỗi tiên tri cụ thể.

ví dụ. PRAGMA EXCEPTION_INIT (tên ngoại lệ, số lỗi tiên tri)

Hy vọng bạn thích phần biên soạn câu hỏi phỏng vấn Oracle PlSQL này. Tôi sẽ đăng nhiều câu hỏi như vậy hơn trong tương lai

Các liên kết có liên quan

Câu hỏi phỏng vấn ứng dụng Oracle và câu trả lời

Câu hỏi phỏng vấn oracle dba

Câu hỏi phỏng vấn Oracle RAC

Câu hỏi Phỏng vấn Weblogic

Hy vọng bạn thích biên soạn câu hỏi phỏng vấn plsql oracle. Vui lòng cung cấp phản hồi


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàm CAST () trong Oracle

  2. Cơ sở dữ liệu trình quản lý gói RPM GI 19c

  3. Cách tạo con trỏ tham chiếu yếu PL / SQL trong cơ sở dữ liệu Oracle

  4. lỗi:ORA-65096:tên người dùng hoặc vai trò thông thường không hợp lệ trong oracle

  5. ORA-01950:không có đặc quyền trên vùng bảng 'NGƯỜI DÙNG'