So sánh bằng trong hàm oracle

Hàm được tạo ra với mục đích để tái sử dụng mã code nhiều lần nhằm tiết kiệm thời gian cho người lập trình.Bạn có thể định nghĩa Hàm 1 lần và gọi nó ở nhiều nơi và nhiều lần.

2.Cách tạo hàm Function trong Oracle Database.

Cú pháp để tạo hàm Function trong Oracle như sau:

Cú pháp tạo hàm Function

CREATE [OR REPLACE] FUNCTION function_name

( parameter )

RETURN return_datatype

IS | AS

declaration_section

BEGIN

executable_section

EXCEPTION

exception_section

END function_name;

Giải thích:

-CREATE [OR REPLACE] FUNCTION: là lệnh tạo hàm

-function_name : là tên hàm mà bạn muốn tạo.

-parameter: là các tham để truyền vào bên trong hàm.

-return_datatype : là giá trị trả về của hàm Function.

-declaration_section : là phần khai báo các tham số, biến.

-executable_section: là phần thực hiện các lệnh và chức năng của hàm

-exception_section : là phần ngoại lệ, thông báo các lỗi ngoại lệ của hàm.

Ví dụ tạo hàm Fucntion trong Oracle.

Ví dụ chúng ta cần tạo một hàm lấy tên nhân viên theo mã nhân viên.Nghĩa là khi chúng ta nhập mã nhân viên vào thì sẽ hiển thị tên nhân viên.

Sau đây là code PL/SQL tạo hàm lấy tên nhân viên theo mã nhân viên trong Oracle.

Ví dụ tạo Function trong PL/SQL Oracle

CREATE OR REPLACE FUNCTION F_GetNhanVienName

(pv_NhanvienID in HR.Nhanvien.Nhanvien_Id%type)

RETURN varchar2

IS

pv_NhanvienName HR.nhanvien.nhanvien_name%type;

BEGIN

SELECT n.nhanvien_name INTO pv_NhanvienName

FROM HR.nhanvien n

WHERE n.nhanvien_id = pv_NhanvienID;

return pv_NhanvienName;

EXCEPTION

when no_data_found then

dbms_output.put_line('Error: No Data');

when Too_Many_Rows then

dbms_output.put_line('Error: Many rows data');

when others then

dbms_output.put_line('Error Exception');

END F_GetNhanVienName;

3.Cách gọi hàm Function trong Oracle Database.

Bạn có thể sử dụng một hàm ở bất kỳ đâu mà bạn cần sử dụng. Bạn có thể gọi một Hàm ở những nơi khác nhau, chẳng hạn như:

Anh em có kinh nghiệm làm việc với nhiều hệ cơ sở dữ liệu, nếu đã làm việc với hệ cơ sở dữ liệu Oracle chắc không còn lạ gì Oracle SQL developer.

Oracle SQL developer là công cụ miễn phí do Oracle phát triển, giúp anh em làm việc với hệ cơ sở dữ liệu Oracle. Bài viết này giới thiệu tới anh em một số tính năng chính, cách sử dụng sao cho hiệu quả công cụ này.

So sánh bằng trong hàm oracle

Mong rằng bài viết này sẽ hữu dụng với anh em bước đầu làm quen với hệ cơ sở dữ liệu Oracle. Những anh em có kinh nghiệm cũng có thể tra cứu một số thủ thuật được đề cập trong bài viết.

Rồi, bắt đầu thôi anh em. Tiền đề là đã cài đặt và kết nối thành công vào DB Oracle thông qua Oracle SQL developer nha.

Dành cho anh em mới bước đầu làm quen với Oracle SQL developer.

Oracle SQL developer là giao diện người dùng (Graphical user interface), cho phép người dùng và quản trị viên hệ cơ sở dữ liệu thực hiện các tác vụ liên quan tới hệ cơ sở dữ liệu. Là một công cụ giúp tăng năng suất, SQL Developer giúp người dùng tiết kiệm tối đa thời gian và tối đa hoá khả năng làm việc.

So sánh bằng trong hàm oracle

2. Schema Browser – Tìm kiếm schema

Nếu DB của anh em có nhiều schema, Oracle SQL developer có hỗ trợ anh em tìm kiếm các schema đó nhanh chóng bằng cách vào Schema Browser.

So sánh bằng trong hàm oracle

Với schema browser, anh em có thể nhanh chóng tìm Tables, Views, Indexes, Packages, Procedures, Functions, Operators, Triggers, Types, Sequences, Materialized Views, Synonyms của cả cái schema đó.

So sánh bằng trong hàm oracle

Với Schema Browser, nhiều schema trong một DB giờ đây dễ quản lý và tìm kiếm hơn rất nhiều.

Ngoài ra, nếu trong schema có nhiều table với tên prefix, suffix giống nhau. Anh em có thể tìm kiếm contains chuỗi.

So sánh bằng trong hàm oracle

Tham khảo việc làm Oracle hấp dẫn trên TopDev

3. Find DB object – Bắt tôi đi nếu có thể

Oracle SQL developer hỗ trợ tìm kiếm phụ thuộc (dependencies) của object (đối tượng) trong toàn hệ cơ sở dữ liệu.

Ví dụ ở table quản lý order anh em có lưu order id, nhưng trong synotyms cũng có, trong một views nào đó anh em cũng có dùng tới. Nếu không có tài liệu cụ thể thì làm sao biết order id đã được sử dụng ở đâu?

Find DB object có thể giúp được

So sánh bằng trong hàm oracle

Đầu tiên anh em chuột phải vào view, chọn Find DB Object. Phía dưới sẽ xuất hiện cửa sổ để tìm kiếm.

Trong cửa sổ này có thể lựa chọn schema search, kiểu của object. Sau khi đã lựa chọn xong thì anh em bấm search. Nếu DB anh em cực lớn, anh em có thể cho tìm kiếm chạy background

So sánh bằng trong hàm oracle

Sau khi đã tìm kiếm xong, anh em có thể thấy kết quả chi tiết objects anh em muốn tìm đã được sử dụng ở đâu, mục đích gì?

So sánh bằng trong hàm oracle

Như cái order id dưới đây thì nó được sử dụng trong trigger old line.

So sánh bằng trong hàm oracle

4. Database compare – Tìm sự khác biệt

Trong hệ cơ sở dữ liệu, anh em có thể tạo ra nhiều các schema. Vậy trường hợp muốn so sánh sự khác nhau giữa các schema anh em làm thế nào?

Rất may là Oracle SQL developer hỗ trợ Database Diff để tìm kiếm sự khác biệt giữa 2 schema. Để sử dụng tính năng này, anh em vào Tools -> Database Diff. Sau khi mở lên anh em lựa chọn database connection mình muốn.

So sánh bằng trong hàm oracle

Source connection là DB đầu tiên, Destination là DB thứ hai anh em muốn compare. Một số thông số khác để compare giữa hai DB như là Ignore Table (bỏ qua table, vị trí column).

Ở bước thứ hai anh em lựa chọn các kiểu object anh em muốn so sánh.

So sánh bằng trong hàm oracle

Bước thứ 3 nếu có objects nào đặc biệt anh em có thể lựa chọn. Tới bước cuối cùng thì kết quả so sánh sẽ hiện ra ở dạng tổng quát (summary).

So sánh bằng trong hàm oracle

Bảng so sánh tóm tắt sẽ hiện ra sau khi so sánh. Anh em có thể bấm vào chi tiết để xem sự khác biệt.

So sánh bằng trong hàm oracle

Như ví dụ dưới đây thì PKG_OE_CUST có ở database LOCAL_OE nhưng không xuất hiện ở LOCAL_PROD. Bất cứ objects nào có ở schema này nhưng không có ở schema kia sẽ được highlight lên bằng màu xanh.

5. Báo cáo (Reports) – Cho biết tất cả

Oracle SQL developer cung cấp report cho phép duyệt nhanh toàn bộ hệ cơ sở dữ liệu. Thay vì viết query truy vấn để kiểm tra bằng tay, anh em có thể sử dụng công cụ report của Oracle SQL developer.

Để sử dụng report, anh em vào Views -> Reports. Một cửa sổ sẽ mở lên bao gồm tất cả các reports đang có.

Đầu tiên là Invalid objects, báo cáo này cho biết tất cả các object đang sai, reports này hữu ích giúp đảm bảo trước khi lên production, anh em không có đối tượng nào đang bị sai trong hệ cơ sở dữ liệu.

So sánh bằng trong hàm oracle

Object Grants report – báo cáo này cho biết tổng thể các gán đã được thực thi cho các schema độc lập.

So sánh bằng trong hàm oracle

Ngoài các báo cáo tổng quan này, nếu anh em muốn tạo report riêng lẻ hoặc custom theo mục đích khác. Anh em có thể lựa chọn phần tạo report (Reports -> User Defined Reports). Sau đó chọn New Report. Ở cửa sổ này, anh em có thể thoải mái tạo các report theo SQL (tuỳ nhu cầu muốn report là gì?).

So sánh bằng trong hàm oracle

Sau khi chạy, kết quả report sẽ hiện ra dạng bảng như query, nhưng giúp anh em truy xuất dễ hơn về sau.

So sánh bằng trong hàm oracle

6. Pinning – Ở đâu cứ ở yên đó

Tính năng này trong Oracle SQL developer thực chất là tính năng nhỏ, nhưng cực kì hữu ích. Đặc biệt nếu anh em mới lần đầu sử dụng SQL Developer. Query thì anh em viết nhiều nhưng khi mở nhiều thì Oracle SQL Developer sẽ tự động đóng đi một vài cái.

Ví dụ anh em mở bảng oe.customers, sau đó mở thêm bảng oe.oc_inventories, lúc đó cửa sổ bảng customers sẽ bị đóng lại. Nhưng anh em vẫn muốn xem?

Lúc đó tính năng pinning trở nên hữu ích.

So sánh bằng trong hàm oracle

Bất cứ cửa sổ nào anh em muốn giữ lại, anh em có thể ấn vào icon hình kim ở phía trên. Lúc đó tab pin sẽ không bị đóng lại tự động, phải đóng bằng tay, tức là chỉ đóng khi nào anh em muốn đóng.

7. Tham khảo

Trong quá trình sử dụng sẽ còn nhiều hơn tips và tricks khi dùng Oracle SQL Developer. Hẹn anh em ra bài phần 2 sẽ bổ sung nhiều hơn các thủ thuật, cách dùng khác.