- vừa được xem lúc

Giới thiệu Stored Procedure trong SQL Server

0 0 164

Người đăng: Mai Quoc Dat

Theo Viblo Asia

Stored Procedure là 1 phần không thể thiếu của SQL Server. Chúng có thể hỗ trợ rất nhiều cho lập trình và cấu hình cơ sở dữ liệu.

Một Stored Procedure là bao gồm các câu lệnh Transact-SQL và được lưu lại trong cơ sở dữ liệu. Các lập trình viên chỉ cần gọi ra và thực thi thông qua SQL Server Management Studio hoặc ngay trong ứng dụng đang phát triển.

Transact-SQL dựa trên SQL, nó là một ngôn ngữ lập trình được sử dụng làm trung gian giữa cơ sở dữ liệu và các ứng dụng. Nó tương đối dễ học vì thực chất nó được tạo bởi hầu hết là các lệnh SQL.

Lợi ích của Stored Procedure

Lợi ích Giải thích
Module hóa Bạn chỉ cần viết Stored Procedure 1 lần, sau đó có thể gọi nó nhiều lần ở trong ứng dụng.
Hiệu suất Stored Procedure thực thi mã nhanh hơn và giảm tải băng thông.
- Thực thi nhanh hơn: Stored Procedure sẽ được biên dịch và lưu vào bộ nhớ khi được tạo ra. Điều đó có nghĩa rằng nó sẽ thực thi nhanh hơn so với việc gửi từng đoạn lệnh SQL tới SQL Server. Vì nếu bạn gửi từng đoạn lệnh nhiều lần thì SQL Server cũng sẽ phải biên dịch lại nhiều lần, rất mất thời gian so với việc biên dịch sẵn.
- Giảm tải băng thông: Nếu bạn gửi nhiều câu lệnh SQL thông qua network đến SQL Server sẽ ảnh hưởng tới hiệu suất đường truyền. Thay vì gửi nhiều lần thì bạn có thể gom các câu lệnh SQL vào 1 Stored Procedure và chỉ phải gọi đến 1 lần duy nhất qua network.
Bảo mật Trong SQL Server có các tác vụ cấp cao mà người dùng bình thường không thể truy cập vào được. Bằng việc cung cấp các Stored Procedure đã truy cập tới các tác vụ này cho người dùng thường thì không sao hết. Vì làm vậy thì người dùng thường sẽ truy cập gián tiếp mà không ảnh hưởng tới vấn đề bảo mật của SQL Server.

Tạo Stored Procedure

Bạn tạo Stored Procedure được lưu trữ trong SQL Server Management Studio bằng cách sử dụng câu lệnh CREATE PROCEDURE:

CREATE PROCEDURE StoredProcedureName AS
...

Đoạn mã sau tạo một Stored Procedure gọi là "MyStoredProcedure":

CREATE PROCEDURE MyStoredProcedure AS
SET ROWCOUNT 10
SELECT Products.ProductName AS TenMostExpensiveProducts, Products.UnitPrice
FROM Products
ORDER BY Products.UnitPrice DESC

Chỉnh sửa Stored Procedure

Nếu bạn cần sửa đổi một Stored Procedure, bạn chỉ cần thay CREATE bằng ALTER.

ALTER PROCEDURE MyStoredProcedure AS
...

Thực thi Stored Procedure

Bạn có thể chạy một Stored Procedure bằng cách sử dụng EXECUTE hoặc EXEC. Ví dụ: để chạy Stored Procedure ở trên, hãy nhập như sau:

EXEC MyStoredProcedure

Nếu Stored Procedure có khoảng trắng bên trong tên của nó, hãy đặt nó giữa các dấu ngoặc kép:

EXEC "My Stored Procedure"

Nếu Stored Procedure của bạn cần truyên thêm các param:

EXEC MyStoredProcedure @ParameterName="MyParameter"

Sử dụng qua GUI

Bạn có thể thực thi Stored Procedure trên trực tiếp giao diện của SQL Server mà không dùng câu lệnh:

  1. Di chuyển đến "Stored Procedures" của Database mà bạn đang làm việc.
  2. Chọn Stored Procedure của bạn đã tạo và nhấn chuộn phải chọn "Execute Stored Procedure..."
  3. Nếu như Stored Procedure của bạn cần param thì 1 hộp thoại sẽ xuất hiện để bạn nhập.
  4. Nhấp "OK".
  5. Sau đó SQL Server sẽ show kết quả thực thi cho bạn.

Parameters

Parameters(tham số) là giá trị mà Stored Procedure của bạn sử dụng để thực hiện tác vụ của nó. Khi bạn viết một Stored Procedure, bạn có thể chỉ định các Parameters cần được cung cấp từ người dùng.

Ví dụ: Nếu bạn viết một Stored Procedure để show ra chi tiết địa chỉ về một ái đó, thì Stored Procedure của bạn cần biết thông tin nào đó để tìm ra người đó. Trong trường hợp này, người dùng có thể cung cấp UserId để cho Stored Procedure lọc dữ liệu từ Database và trả về cho người dùng.

System Stored Procedures

SQL Server bao gồm một số lượng lớn các System Stored Procedure để hỗ trợ các việc quản trị cơ sở dữ liệu.

Một số điều bạn có thể làm với các System Stored Procedure bao gồm:

  • Cấu hình tài khoản bảo mật.
  • Thiết lập liên kết các máy chủ.
  • Tạo kế hoạch bảo trì cơ sở dữ liệu.
  • ...

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

0 0 525

- vừa được xem lúc

Cài đặt WSL / WSL2 trên Windows 10 để code như trên Ubuntu

Sau vài ba năm mình chuyển qua code trên Ubuntu thì thật không thể phủ nhận rằng mình đã yêu em nó. Cá nhân mình sử dụng Ubuntu để code web thì thật là tuyệt vời.

0 0 396

- vừa được xem lúc

Đặt tên commit message sao cho "tình nghĩa anh em chắc chắn bền lâu"????

. Lời mở đầu. .

1 1 737

- vừa được xem lúc

Tìm hiểu về Resource Controller trong Laravel

Giới thiệu. Trong laravel, việc sử dụng các route post, get, group để gọi đến 1 action của Controller đã là quá quen đối với các bạn sử dụng framework này.

0 0 358

- vừa được xem lúc

Phân quyền đơn giản với package Laravel permission

Như các bạn đã biết, phân quyền trong một ứng dụng là một phần không thể thiếu trong việc phát triển phần mềm, dù đó là ứng dụng web hay là mobile. Vậy nên, hôm nay mình sẽ giới thiệu một package có thể giúp các bạn phân quyền nhanh và đơn giản trong một website được viết bằng PHP với framework là L

0 0 449

- vừa được xem lúc

Bạn đã biết các tips này khi làm việc với chuỗi trong JavaScript chưa ?

Hi xin chào các bạn, tiếp tục chuỗi chủ đề về cái thằng JavaScript này, hôm nay mình sẽ giới thiệu cho các bạn một số thủ thuật hay ho khi làm việc với chuỗi trong JavaScript có thể bạn đã hoặc chưa từng dùng. Cụ thể như nào thì hãy cùng mình tìm hiểu trong bài viết này nhé (go).

0 0 433