Như đó đề cập ở cỏc chương trước, SQL được thiết kế và cài đặt như là một ngụn ngữ để thực hiện cỏc thao tỏc trờn cơ sở dữ liệu như tạo lập cỏc cấu trỳc trong cơ sở dữ liệu, bổ sung, cập nhật, xoỏ và truy vấn dữ liệu trong cơ sở dữ liệu. Cỏc cõu lệnh SQL được người sử dụng viết và yờu cầu hệ quản trị cơ sở dữ liệu thực hiện theo chế độ tương tỏc.
Cỏc cõu lệnh SQL cú thể được nhỳng vào trong cỏc ngụn ngữ lập trỡnh, thụng qua đú chuỗi cỏc thao tỏc trờn cơ sở dữ liệu được xỏc định và thực thi nhờ vào cỏc cõu lệnh, cỏc cấu trỳc điều khiển của bản thõn ngụn ngữ lập trỡnh được sử dụng.
Với thủ tục lưu trữ, một phần nào đú khả năng của ngụn ngữ lập trỡnh được đưa vào trong ngụn ngữ SQL. Một thủ tục là một đối tượng trong cơ sở dữ liệu bao gồm một tập nhiều cõu lệnh SQL được nhúm lại với nhau thành một nhúm với những khả năng sau:
• Cỏc cấu trỳc điều khiển (IF, WHILE, FOR) cú thể được sử dụng trong thủ tục.
• Bờn trong thủ tục lưu trữ cú thể sử dụng cỏc biến như trong ngụn ngữ lập trỡnh nhằm lưu giữ cỏc giỏ trị tớnh toỏn được, cỏc giỏ trị được truy xuất được từ cơ sở dữ liệu.
• Một tập cỏc cõu lệnh SQL được kết hợp lại với nhau thành một khối lệnh bờn trong một thủ tục. Một thủ tục cú thể nhận cỏc tham số truyền vào cũng như cú thể trả về cỏc giỏ trị thụng qua cỏc tham số (như trong cỏc ngụn ngữ lập trỡnh). Khi một thủ tục lưu trữ đó được định nghĩa, nú cú thể được gọi thụng qua tờn thủ tục, nhận cỏc tham số truyền vào, thực thi cỏc cõu lệnh SQL bờn trong thủ tục và cú thể trả về cỏc giỏ trị sau khi thực hiện xong.
Sử dụng cỏc thủ tục lưu trữ trong cơ sở dữ liệu sẽ giỳp tăng hiệu năng của cơ sở dữ liệu, mang lại cỏc lợi ớch sau:
• Đơn giản hoỏ cỏc thao tỏc trờn cơ sở dữ liệu nhờ vào khả năng module hoỏ cỏc thao tỏc này.
• Thủ tục lưu trữ được phõn tớch, tối ưu khi tạo ra nờn việc thực thi chỳng nhanh hơn nhiều so với việc phải thực hiện một tập rời rạc cỏc cõu lệnh SQL tương đương theo cỏch thụng thường.
• Thủ tục lưu trữ cho phộp chỳng ta thực hiện cựng một yờu cầu bằng một cõu lệnh đơn giản thay vỡ phải sử dụng nhiều dũng lệnh SQL. Điều này sẽ làm giảm thiểu sự lưu thụng trờn mạng.
• Thay vỡ cấp phỏt quyền trực tiếp cho người sử dụng trờn cỏc cõu lệnh SQL và trờn cỏc đối tượng cơ sở dữ liệu, ta cú thể cấp phỏt quyền cho người sử dụng thụng qua cỏc thủ tục lưu trữ, nhờ đú tăng khả năng bảo mật đối với hệ thống.