PROCEDURE trong SQL Server là một chương trình trong cơ sở dữ liệu gồm nhiều câu lệnh mà bạn lưu lại cho những lần sử dụng sau. Trong SQL Server, bạn có thể truyền các tham số vào procedure, tuy nó không trả về một giá trị cụ thể như function (hàm) nhưng cho biết việc thực thi thành công hay thất bại.
Bài viết sẽ cung cấp cho bạn cú pháp và những ví dụ về cách tạo và xóa bỏ procedure trong SQL Server.
Những lợi ích khi sử dụng PROCEDURE trong SQL
Một stored procedure cung cấp một lớp bảo mật quan trọng giữa user và database. Những người dùng cuối không thể thực thi được một số tác vụ quan trọng trong database, bằng cách cung cấp các stored procedure, người dùng cuối có thể thoải moái sử dụng để thực thi các tác vụ này mà không cần quan tâm bên dưới đang làm gì.
Stored Procedure được biên dịch và lưu vào bộ nhớ khi khởi tạo. Đ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.
Chúng ta cũng có thể sử dụng lại các stored procedure trong ứng dụng, khi mà chúng ta chỉ cần viết một lần, và các mã lệnh có thể gọi đến nó bất kỳ lúc nào.
CREATE PROCEDURE (Tạo Procedure)
Cú pháp
Để tạo một procedure trong SQL Server, ta sử dụng cú pháp như dưới đây:
CREATE { PROCEDURE | PROC } [schema_name.]procedure_name
[ @parameter [type_schema_name.] datatype
[ VARYING ] [ = default ] [ OUT | OUTPUT | READONLY ]
, @parameter [type_schema_name.] datatype
[ VARYING ] [ = default ] [ OUT | OUTPUT | READONLY ] ]
[ WITH { ENCRYPTION | RECOMPILE | EXECUTE AS Clause } ]
[ FOR REPLICATION ]
AS
BEGIN
[declaration_section]
executable_section
END;
- Tham số:
- schema_name: Tên schema (lược đồ) sở hữu procedure.
- procedure_name: Tên gán cho procedure
- @parameter: Một hay nhiều tham số được truyền vào hàm.
- type_schema_name: Kiểu dữ liệu của schema (nếu có).
- Datatype: Kiểu dữ liệu cho @parameter.
- Default: Giá trị mặc định gán cho @parameter.
- OUT/OUTPUT: @parameter là một tham số đầu ra
- READONLY: @parameter không thể bị procedure ghi đè lên.
- ENCRYPTION: Mã nguồn (source) của procedure sẽ không được lưu trữ dưới dạng text trong hệ thống.
- RECOMPILE: Truy vấn sẽ không được lưu ở bộ nhớ đệm (cache) cho thủ tục này.
- EXECUTE AS clause: Xác định ngữ cảnh bảo mật để thực thi thủ tục.
- FOR REPLICATION: Procedure đã lưu sẽ chỉ được thực thi trong quá trình replication (nhân bản).
Ví dụ
CREATE PROCEDURE spNhanvien
@nhanvien_name VARCHAR(50) OUT
AS
BEGIN
DECLARE @nhanvien_id INT;
SET @nhanvien_id = 8;
IF @nhanvien_id < 10
SET @nhanvien_name = ‘Smith’;
ELSE
SET @nhanvien_name = ‘Lawrence’;
END;
Thủ tục trên được gán tên là spNhanvien, có một tham số là @nhanvien_name, output của tham số sẽ được dựa trên @nhanvien_id.
Sau đó, bạn có thể thực hiện tham chiếu spNhanvien như sau:
USE [test]
GO
DECLARE @site_name varchar(50);
EXEC FindSite @site_name OUT;
PRINT @site_name;
GO
Drop Procedure (Xóa bỏ Procedure)
Một khi đã tạo thành công các procedure thì cũng sẽ có những trường hợp bạn muốn xóa bỏ procedure khỏi cơ sở dữ liệu vì một vài lý do.
Cú pháp
Để xóa bỏ một procedure, ta có cú pháp sau:
DROP PROCEDURE procedure_name;
Tham số:
procedure_name: Tên procedure bạn muốn xóa bỏ…
Ví dụ
DROP PROCEDURE spNhanvien;
Thực hiện lệnh này là bạn đã vừa xóa bỏ thủ tục spNhanvien khỏi database.
Các tiện ích nổi bật của dịch vụ Thiết Kế Web Bán Hàng trọn gói tại ATPWeb:
- Website bán hàng ATPWeb giúp tối ưu hiệu quả SEO: Giúp bạn có một Website chuẩn SEO, khách hàng có thể tìm bạn trên Google một cách dễ dàng nhất.
- 500+ giao diện Responsive đẹp mắt, tùy biến cao: Giúp bạn có một Website thân thiện, dù là bất cứ thiết bị nào Website sẽ cho họ một trải nghiệm mua hàng hấp dẫn.
- Website tốc độ cao và băng thông không giới hạn: Giúp bạn có một Website tốc độ cao, khách hàng của bạn sẽ được trải nghiệm tốc độ load của một trang báo.
- Dịch vụ cài đặt dễ dàng và nhanh chóng.
- Tiết kiệm chi phí: Khi sử dụng dịch vụ thiết kế web trọn gói của ATPWeb bạn sẽ nhận được nhiều ưu đãi như:Kho bài viết, tài liệu, cẩm nang và khóa học miễn phí, khuyến mãi tùy theo từng gói dịch vụ, miễn phí các dịch vụ phát sinh và nhiều lợi ích khác.
- An toàn, bảo mật tuyệt đối: Website của bạn sẽ được được bảo vệ tuyệt đối với hàng rào “https://” và “SSL” tiêu chuẩn quốc tế giúp tránh được sự tấn công của virus, hacker.
- Hỗ trợ tư vấn Marketing & bán hàng: Cung cấp cho Khách hàng những tư duy, kiến thức về Marketing và cách kinh doanh ngay trên Website.
Hy vọng rằng bài viết trên đã giúp các bạn biết thêm nhiều kiến thức hữu ích.
Nếu như bạn đang có nhu cầu xây dựng một Website phù hợp với thương hiệu của mình, nhưng vẫn chưa tìm được giải pháp tối ưu nhất thì hãy liên hệ ngay với chúng tôi trong hôm nay để được tư vấn miễn phí nhé!
THÔNG TIN LIÊN HỆ
- Website: https://phanmematp.vn/
- Youtube: ATP Software
- Group hỗ trợ: ATP Support – Tư Vấn và Hỗ Trợ khách hàng
- Fanpage: ATP Holdings – Giải pháp hỗ trợ doanh nghiệp