Đôi dịp chúng ta hy vọng tự tạo ra một hàm riêng rẽ mang đến hệ thống nhằm dễ không ngừng mở rộng cùng tái sử dụng, trong SQL cũng cung cấp bọn họ thực hiện quá trình này. Bài viết này bản thân xin chia sẻ một số trong những kỹ năng và kiến thức về Function (Hàm) vào MS SQL Server.
Bạn đang xem: Giới thiệu function trong sql server
Là một đối tượng người sử dụng trong các đại lý tài liệu (CSDL) sử dụng trong những câu lệnh Squốc lộ, được biên dịch sẵn và lưu vào cơ sở dữ liệu nhằm mục tiêu thực hiện cách xử lý như thế nào đó nlỗi tính tân oán phức tạp và trả về tác dụng là cực hiếm làm sao đó.
Đặc điểm:Luôn trả về giá trịGồm 2 loại: Function hệ thống cùng Function bởi vì người tiêu dùng từ bỏ định nghĩaFunction người dùng từ bỏ quan niệm có 2 loại:Scalar-valued: Trả về cực hiếm vô phía của những loại dữ liệu T-SQLTable-valued: Trả về bảng, là hiệu quả của một hoặc các lệnhCREATE FUNCTION Tên function>(< Function Table-valued gồm 2 loại: CREATE FUNCTION Tên function>(< CREATE FUNCTION Tên function>(< ALTER FUNCTION Tên function>(< Xem thêm: Chỉnh Google Chrome Sang Tiếng Việt Cho Chrome Cực Kỳ Đơn Giản DROPhường FUNCTION EXEC sp_helptext "FunctionName" lấy ví dụ 1. Tạo function cho biết con số khách hàng theo ảnh hưởng ngẫu nhiên nhận vào từ bỏ ttê mê số cùng với ĐK là quý khách tất cả tổng thể tiền vay mượn từ trước tới nay từ bỏ 200 triệu trsinh hoạt lên. Cách 1: Trả về cực hiếm vô hướng CREATE FUNCTION count_customer_with_address ( PRINT dbo.count_customer_with_address("Ha Noi")Cách 2: Trả về cực hiếm table bởi câu lệnh đơn CREATE FUNCTION count_customer_with_address2 ( SELECT * FROM dbo.count_customer_with_address2 ("Da Nang")Cách 3: Trả về cực hiếm table bằng nhiều câu lệnh CREATE FUNCTION count_customer_with_address3 ( ALTER FUNCTION count_customer_with_address ( DROP FUNCTION count_customer_with_address
tên tđê mê số> giao diện dữ liệu> <= cực hiếm mang định>>, …,<...>>)RETURNS kiểu dữ liệu> RETURN Biểu thức cực hiếm đơn>ENDTrong đó:Tên function: Tên của hàm chúng ta vẫn tạoTên tđam mê số: Là những tmê say số Input mang đến hàm. Knhị báo báo gồm thương hiệu của tđam mê số (trước thương hiệu tyêu thích số áp dụng chi phí tố
), phong cách tài liệu của tđam mê số, bạn cũng có thể chỉ định cực hiếm mặc định cho tmê mẩn số. cũng có thể hướng đẫn các tsay đắm số đầu vàoRETURNS: trường đoản cú khóa này hướng đẫn mẫu mã tài liệu hàm sẽ trả về. Kiểu dữ liệu buộc phải được hướng dẫn và chỉ định kiểu dáng độ lâu năm tài liệu. Ví dụ: varchar(100)WITH ENCRYPTION: Từ khóa hướng đẫn code của hàm sẽ tiến hành mã hóa trong bảng syscomments.AS: Từ khóa cho thấy code của hàm bước đầu.BEGIN: Đi với END nhằm tạo thành thành bao khối hận bao các câu lệnh vào thân hàm.RETURN: Từ khóa này vẫn gửi quý hiếm cho tới giấy tờ thủ tục Hotline hàm.Một số lưu giữ ý:Tên function buộc phải là tốt nhất trong 1 CSDL. Function được tạo/khái niệm vào cơ sở dữ liệu như thế nào thì chỉ áp dụng trong DataBase kia. Khác với Function tất cả sẵn của Squốc lộ được truy cập sống bất kể đâu.Danh sách tsay đắm số buổi tối nhiều 1024 tđam mê số.2. Tạo Function trả về cực hiếm một số loại Table-valued
tên tđê mê số> đẳng cấp dữ liệu> <= quý giá mặc định>>, …,<...>>)RETURNS TABLE
tên đổi mới trả về> TABLE (thương hiệu cột 1> giao diện dữ liệu> Ttuyệt thay đổi, xóa, coi ngôn từ Function
1. Tgiỏi đổi Function
Để biến hóa những hàm sẽ knhị báo ta sử dụng câu lệnh ALTER FUNCTION. Cú pháp tương tự như như chế tạo ra bắt đầu Function, chỉ cố gắng từ khóa CREATE bởi từ bỏ khóa ALTER
tên tham số> phong cách dữ liệu> <= quý hiếm mặc định>>, …,<...>>)RETURNS giao diện dữ liệu> | TABLE RETURN Biểu thức giá trị đơn> | Câu lệnh SQLEND 2. Xóa Function
Để xóa hàm ta cần sử dụng câu lệnh DROPhường FUNCTION.3. Xem văn bản Function
Để xem văn bản function ta thực hiện Store Procedure (Thủ tục) có sẵn của Squốc lộ là sp_helptext (Transact-SQL)ví dụ như chũm thể
Cho bài tân oán cai quản Vay bao gồm thế chấp gia tài dễ dàng biểu lộ qua sơ trang bị nút đồ gia dụng lý nlỗi sau:
count = count(*) FROM ( SELECT Vay.MaKH FROM Vay,KhachHang WHERE Vay.MaKH=KhachHang.MaKH AND KhachHang.DiaChi=
countENDGọi xúc tiến function:
address varchar(200))RETURNS TABLEAS RETURN SELECT count(*) AS "Total customers" FROM ( SELECT Vay.MaKH FROM Vay,KhachHang WHERE Vay.MaKH=KhachHang.MaKH AND KhachHang.DiaChi=
address GROUp BY Vay.MaKH HAVING SUM(Vay.SoTienVay)>=200) AS TempĐiện thoại tư vấn xúc tiến function:
address varchar(200))RETURNS
new_table TABLE (DiaChi varchar(200), SoLuong int)ASBEGINDECLARE
count int = 0SELECT
count = count(*) FROM ( SELECT Vay.MaKH FROM Vay,KhachHang WHERE Vay.MaKH=KhachHang.MaKH AND KhachHang.DiaChi=
address GROUp BY Vay.MaKH HAVING SUM(Vay.SoTienVay)>=200 ) AS Temp INSERT INTO
new_table VALUES (
address,
count) RETURNENDví dụ như 2. Sửa đổi function sẽ chế tạo ra ở trên bổ sung cập nhật ĐK người tiêu dùng bao gồm tuổi từ 30 trsinh sống lên
count = count(*) FROM ( SELECT Vay.MaKH FROM Vay JOIN KhachHang ON Vay.MaKH=KhachHang.MaKH WHERE KhachHang.DiaChi=
address AND YEAR(GETDATE()) - YEAR(NgaySinh) >= 30 GROUp BY Vay.MaKH HAVING SUM(Vay.SoTienVay)>=200 ) AS Temp RETURN
countENDlấy một ví dụ 3. Xóa quăng quật function đã tạoKết luận
Trên đó là phần đông gì bản thân tổng hòa hợp với tự đưa ra ví dụ minch họa mang lại từng phần. Hi vọng để giúp ích đến các bạn trong quá trình sử dụng function vào câu lệnh sql.