Computer >> Máy Tính >  >> Lập trình >> SQL Server

FUNCTION (Hàm) trong SQL Server

Chức năng (function) là một đối tượng trong cơ sở dữ liệu bao gồm một tập hợp nhiều câu lệnh được nhóm lại với nhau và được tạo ra cho mục đích sử dụng lại. Trong SQL Server, các hàm được lưu trữ và bạn có thể chuyển các tham số cũng như giá trị trả về.

Bài viết sẽ cung cấp cho bạn cú pháp và ví dụ về cách tạo và xóa các hàm trong SQL Server.

TẠO CHỨC NĂNG (Tạo Hàm)

Cú pháp

Để tạo một hàm trong SQL Server, chúng tôi sử dụng cú pháp sau:

  CREATE FUNCTION [schema_name.] Function_name 
([@parameter [AS] [type_schema_name.] datatype
[= default] [READONLY]
, @parameter [AS] [type_schema_name.] datatype
[= default] [READONLY]]
)

RETURNS return_datatype

[WITH {ENCRYPTION
| SCHEMABINDING
| RETURNS NULL ON NULL INPUT
| CALLED ON NULL INPUT
| EXECUTE AS Clause]

[AS]

BEGIN

[declaration_section]

executable_section

RETURN return_value

END;

Thông số:

  1. schema_name: tên lược đồ (giản đồ) có chức năng.
  2. function_name: Tên được chỉ định cho chức năng.
  3. @parameter: Một hoặc nhiều tham số được chuyển vào hàm.
  4. type_schema_name: Loại dữ liệu của lược đồ (nếu có).
  5. Loại dữ liệu: Kiểu dữ liệu cho @parameter.
  6. Mặc định: Giá trị mặc định được gán cho @parameter.
  7. SN SÀNG: @parameter không thể bị ghi đè bởi hàm.
  8. return_datatype: Kiểu dữ liệu của giá trị trả về.
  9. THAM GIA: Mã nguồn của hàm sẽ không được lưu trữ dưới dạng văn bản trong hệ thống.
  10. SCHEMABINDING: Đảm bảo rằng các đối tượng không được chỉnh sửa sẽ ảnh hưởng đến chức năng.
  11. QUAY LẠI KHÔNG ĐẦY ĐỦ TRÊN ĐẦU VÀO KHÔNG ĐỦ :Hàm sẽ trả về NULL nếu bất kỳ tham số nào là NULL.
  12. GỌI VÀO ĐẦU VÀO KHÔNG ĐẦY ĐỦ :Hàm sẽ thực thi ngay cả khi tham số là NULL.
  13. THỰC HIỆN NHƯ mệnh đề:Chỉ định ngữ cảnh bảo mật để thực thi chức năng.
  14. return_value: Giá trị được trả lại.

Ví dụ

  CREATE FUNCTION fuNhanvien 
(@nhanvien_id INT)

RETURNS VARCHAR (50)

AS

BEGIN

DECLARE @nhanvien_name VARCHAR (50);

IF @nhanvien_id <10
SET @nhanvien_name = 'Smith';
ELSE
SET @nhanvien_name = 'Lawrence';

RETURN @nhanvien_name;

END;

Hàm trên có tên là fuNhanvien, @nhanvien_id tham số với kiểu dữ liệu INT. Hàm sẽ trả về giá trị VARCHAR (50) khi thực hiện câu lệnh RETURNS.

Sau đó, bạn có thể tạo tham chiếu fuNhanvien như sau:

  USE [test] 
GO

SELECT dbo.fuNhanvien (8);

GO

Chức năng Drop (Chức năng Xóa)

Khi bạn đã tạo hàm thành công, sẽ có trường hợp bạn muốn xóa hàm khỏi cơ sở dữ liệu vì một vài lý do.

Cú pháp

Để xóa một hàm, chúng ta có cú pháp sau:

DROP FUNCTION function_name ;

Thông số:

function_name: Tên hàm bạn muốn xóa.

Ví dụ

  DROP FUNCTION fuNhanvien; 

Bằng cách thực hiện lệnh này, bạn vừa loại bỏ fu chức năng từ cơ sở dữ liệu.