Khai báo biến với DECLARE trong Oracle

Oracle cũng có thể lập trình được, vẫn có thể tính toán được nên Oracle phải cung cấp cách khai báo biến để lưu trữ dữ liệu tạm thời giúp DBA dễ dàng hơn trong viẹc viết truy vấn. Và cách tạo biến như thế nào thì mời các bạn cùng theo dõi.

1. Lệnh DECLARE khai báo biến trong Oracle

Trong Oracle, ta có thể hiểu biến là một nơi lưu trữ dữ liệu tạm thời, để khi nào cần dùng thì ta gọi đến nó. Phạm vi hoạt động của biến sẽ là local, nghĩa là nó hoạt động bên trong block mà nó định nghĩa.

Mỗi block là bắt đầu với BEGIN và kết thúc với END;

Cú pháp khai báo biến
DECLARE
    variable_name [CONSTANT] datatype [NOT NULL] [:= | DEFAULT initial_value]

BEGIN
    -- something --
END;

Trong đó các tham số được giải thích như sau:

  • variable_name là tên biến, không được chứa kí tự đặc biệt, không có khoảng trắng, ký tự đầu tiên phải là chữ cái bình tthường, có thể chữ hoa hoặc chữ thường.
  • CONSTANT: Đây là tùy chọn, nếu bạn thêm nó thì biến sẽ trở nên đặc biệt, và ta gọi nó là hằng số. Hằng số đặc biệt tại vì khi bạn định nghĩa là phải gán giá chị cho nó luôn, giá trị đó sẽ không thể thay đổi.
  • datatype: Là kiểu dữ liệu sẽ gán cho biến.

2. Ví dụ khai báo biến với DECLARE trong Oracle

Về quy tắc đặt tên biến thì tùy, mỗi công ty, mỗi cá nhân sẽ tự đưa ra quy tắc riêng. Ví dụ mình thích tên biến kỹ tự đầu tiên phải viết hoa nên mình sẽ đặt ra quy tắc đó.

Tạo biến lưu trữ domain
DECLARE
    Domain varchar2(255);

BEGIN
    -- something --
END;

Bạn cũng có thể khai báo nhiều biến cùng lúc.

DECLARE
    Domain varchar2(255);
    Email varchar2(255);

BEGIN
    -- something --
END;

Một số trường hợp khai báo biến mà không cần lệnh DECLARE, ví dụ như trong procedure.

CREATE OR REPLACE PROCEDURE P_SUM 
IS

   L_SUM NUMBER;

BEGIN

   L_SUM := 10 + 20;

END;

3. Lời kết

Trên là một số kiến thức căn bản về cách khai báo biến với DECLARE trong Oracle. Về sau khi làm việc với các phần nâng cao bạn sẽ gặp lại nó rất nhiều.

-------------------#####-------------------

Series có tham khảo hoặc dịch lại từ javatpoint.com, tuy nhiên về lời văn thì hoàn toàn của freetuts, chỉ có ví dụ là có thể có dịch lại.

Nguồn: freetuts.net