Đôi lúc họ muốn tự tạo thành một hàm riêng biệt cho khối hệ thống để dễ không ngừng mở rộng và tái sử dụng, trong SQL cũng hỗ trợ họ thực hiện công việc này. Bài viết này bản thân xin chia sẻ một số kiến thức về Function (Hàm) vào MS SQL Server.

Bạn đang xem: Cách dùng function trong sql

Function là gì?

Định nghĩa:

Là một đối tượng trong cơ sở dữ liệu (CSDL) sử dụng trong số câu lệnh SQL, được biên dịch sẵn và lưu vào CSDL nhằm mục đích triển khai xử lý nào đó như đo lường và thống kê phức tạp cùng trả về kết quả là quý hiếm nào đó.

Đặc điểm:Luôn trả về giá trị
Gồm 2 loại: Function hệ thống và Function do người tiêu dùng tự định nghĩa
Function người tiêu dùng tự định nghĩa gồm 2 loại:Scalar-valued: Trả về quý giá vô hướng của các kiểu dữ liệu T-SQLTable-valued: Trả về bảng, là hiệu quả của một hoặc những lệnh

Cách khái niệm Function

1. Sản xuất Function trả về giá bán trị nhiều loại Scalar-valued

CREATE FUNCTION tên function>(<
tên tham số> hình trạng dữ liệu> <= cực hiếm mặc định>>, …,<...>>)RETURNS kiểu dữ liệu>BEGIN RETURN Biểu thức quý hiếm đơn>ENDTrong đó:

Tên function: tên của hàm bọn họ sẽ tạo
Tên tham số: Là những tham số Input mang đến hàm. Khai báo báo có tên của thông số (trước thương hiệu tham số sử dụng tiền tố
), kiểu tài liệu của tham số, bạn có thể chỉ định quý hiếm mặc định đến tham số. Hoàn toàn có thể chỉ định nhiều tham số đầu vào
RETURNS: từ bỏ khóa này chỉ định và hướng dẫn kiểu tài liệu hàm sẽ trả về. Kiểu dữ liệu phải được chỉ định kiểu độ dài dữ liệu. Ví dụ: varchar(100)WITH ENCRYPTION: từ bỏ khóa chỉ định và hướng dẫn code của hàm sẽ tiến hành mã hóa trong bảng syscomments.AS: từ bỏ khóa cho thấy code của hàm bắt đầu.BEGIN: Đi cùng rất END để tạo thành thành bao khối bao các câu lệnh vào thân hàm.RETURN: từ bỏ khóa này đang gửi cực hiếm tới giấy tờ thủ tục gọi hàm.Một số lưu lại ý:Tên function nên là duy nhất trong 1 CSDL. Function được tạo/định nghĩa trong database nào thì chỉ áp dụng trong database đó. Không giống với Function tất cả sẵn của SQL được truy vấn ở bất cứ đâu.Danh sách tham số buổi tối đa 1024 tham số.

2. Tạo thành Function trả về giá trị một số loại Table-valued

Function Table-valued tất cả 2 loại:

Hàm quý hiếm bảng solo giản: Trả về bảng, là kết quả của một câu lệnh SELECT đơn
Hàm cực hiếm bảng đa câu lệnh: Trả về bảng, là kết quả của nhiều câu lệnha) Hàm quý hiếm bảng đối kháng giản

CREATE FUNCTION tên function>(<
tên tham số> hình trạng dữ liệu> <= giá trị mặc định>>, …,<...>>)RETURNS TABLE RETURN Câu lệnh SQL>ENDLưu ý Hàm quý giá bảng đơn nói một cách khác là hàm quý giá bảng nội tuyến. Hoàn toàn có thể được dùng trong câu lệnh truy vấn vấn sửa chữa thay thế cho tên bảng hoặc thương hiệu View.

b) Hàm quý giá bảng đa câu lệnh

CREATE FUNCTION tên function>(<
tên thay đổi trả về> TABLE (tên cột 1> dạng hình dữ liệu> , ..., tên cột n> hình dạng dữ liệu> )BEGIN Câu lệnh SQL>RETURNEND

Thay đổi, xóa, xem ngôn từ Function

1. Chuyển đổi Function

Để biến đổi các hàm vẫn khai báo ta sử dụng câu lệnh ALTER FUNCTION. Cú pháp tương tự như tạo mới Function, chỉ thế từ khóa CREATE bởi từ khóa ALTER

ALTER FUNCTION thương hiệu function>(<
tên tham số> thứ hạng dữ liệu> <= quý hiếm mặc định>>, …,<...>>)RETURNS giao diện dữ liệu> | TABLEBEGIN RETURN Biểu thức cực hiếm đơn> | Câu lệnh SQLEND

2. Xóa Function

Để xóa hàm ta dùng câu lệnh DROP FUNCTION.

DROP FUNCTION tên function>

3. Xem văn bản Function

Để xem ngôn từ function ta áp dụng Store Procedure (Thủ tục) tất cả sẵn của SQL là sp_helptext (Transact-SQL)

EXEC sp_helptext "Function
Name"

Ví dụ ráng thể

Cho bài toán thống trị Vay có thế chấp ngân hàng tài sản dễ dàng thể hiện nay qua sơ đồ mức đồ vật lý như sau:
*

Ví dụ 1. chế tạo ra function cho biết thêm số lượng người tiêu dùng theo địa chỉ bất kỳ dìm vào từ tham số với đk là quý khách có tổng số tiền vay từ trước tới nay từ 200 triệu trở lên.

Cách 1: Trả về giá trị vô hướng

CREATE FUNCTION count_customer_with_address (
count = count(*) FROM ( SELECT Vay.Ma
KH FROM Vay,Khach
Hang WHERE Vay.Ma
KH=Khach
Hang.Ma
KH & Khach
Hang.Dia
Chi=
count
ENDGọi triển khai function:

PRINT dbo.count_customer_with_address("Ha Noi")Cách 2: Trả về cực hiếm table bằng câu lệnh đơn

CREATE FUNCTION count_customer_with_address2 (
address varchar(200))RETURNS TABLEAS RETURN SELECT count(*) AS "Total customers" FROM ( SELECT Vay.Ma
KH FROM Vay,Khach
Hang WHERE Vay.Ma
KH=Khach
Hang.Ma
KH and Khach
Hang.Dia
Chi=
address GROUp BY Vay.Ma
KH HAVING SUM(Vay.So
Tien
Vay)>=200) AS Temp
Gọi tiến hành function:

SELECT * FROM dbo.count_customer_with_address2 ("Da Nang")Cách 3: Trả về quý giá table bởi đa câu lệnh

CREATE FUNCTION count_customer_with_address3 (
address varchar(200))RETURNS
new_table TABLE (Dia
Chi varchar(200), So
Luong int)ASBEGINDECLARE
count int = 0SELECT
count = count(*) FROM ( SELECT Vay.Ma
KH FROM Vay,Khach
Hang WHERE Vay.Ma
KH=Khach
Hang.Ma
KH & Khach
Hang.Dia
Chi=
address GROUp BY Vay.Ma
KH HAVING SUM(Vay.So
Tien
Vay)>=200 ) AS Temp INSERT INTO
new_table VALUES (
address,
count) RETURNENDVí dụ 2. Sửa thay đổi function đã chế tạo ra ở trên bổ sung cập nhật điều kiện người tiêu dùng có tuổi tự 30 trở lên

ALTER FUNCTION count_customer_with_address (
count = count(*) FROM ( SELECT Vay.Ma
KH FROM vay JOIN Khach
Hang ON Vay.Ma
KH=Khach
Hang.Ma
KH WHERE Khach
Hang.Dia
Chi=
address và YEAR(GETDATE()) - YEAR(Ngay
Sinh) >= 30 GROUp BY Vay.Ma
KH HAVING SUM(Vay.So
Tien
Vay)>=200 ) AS Temp RETURN
count
ENDVí dụ 3. xóa sổ function sẽ tạo

DROP FUNCTION count_customer_with_address

Kết luận

Trên đấy là những gì bản thân tổng hợp với tự đưa ra ví dụ minh họa mang đến từng phần. Hi vọng sẽ giúp ích cho chúng ta trong quy trình sử dụng function trong câu lệnh sql.

Trong phần này chúng ta sẽ khám phá đến function vào SQL Server, trên đây là tác dụng giúp ta gom các câu lệnh SQL thành một tổ và rất có thể sử dụng lại nhiều lần.

*


*

Lưu ý: function hai còn gọi là hàm.

Xem thêm: Nhà Trong Hẻm Giá Rẻ - Bán Nhà Cấp 4 Trong Hẻm Giá Rẻ Tháng 01/2023

1. Function trong SQL vps là gì?

Nếu nói đến gom đội và áp dụng nhiều lần thìstored procedure cũng làm được, tuy nhiên procedure sẽ không có giá trị trả về, còn function thì sẽ sở hữu giá trị trả về. SQL vps cũng có tương đối nhiều hàm có sẵn như hàm nối chuỗi (concat), hàm tính quý hiếm căn bậc nhì (sqrt).

Các hàm đang giúp đơn giản và dễ dàng hóa công tác và có thể sử dụng các lần. Ví dụ bạn phải viết một loạt những câu lệnh SQL phức tạp lên tới hàng ngàn mẫu thì rất có thể phân tích và chia bé dại thành nhiều hàm

Bài viết này được đăng tại

Cú pháp sản xuất hàm như sau:


CREATE FUNCTION function_name (parameter_list)RETURN data_type ASBEGIN statements RETURN value
END

Trong đó:

function_name là tên gọi của functionparameter_list là danh sách các tham số truyền vào function
RETURN data_type AS là xác minh kiểu tài liệu mà function vẫn trả vềstatements là danh sách các lệnh SQLRETURN value là giá bán trị sẽ được trả về.

Trong ví dụ dưới đấy là một function có chức năng tính tổng của nhì số.


CREATE FUNCTION tinh_tong(
a INT,
b INT)RETURNS INTAS BEGIN RETURN
a *
b;END;

Hoặc dựa vào database mẫu mã mình viết một function như sau:


CREATE FUNCTION sales.udf
Net
Sale(
quantity INT,
list_price DEC(10,2),
discount DEC(4,2))RETURNS DEC(10,2)AS BEGIN RETURN
quantity *
list_price * (1 -
discount);END;

Hàm này sẽ tính giá của một thành phầm sau khi được giảm.

Sau khi chạy khởi sinh sản hàm này thì các bạn sẽ thấy nó trong SSMS bằng cách click vàoProgrammability > Functions > Scalar-valued Functions.

2. Cách gọi function vào SQL Server

Về phương pháp dùng thì cũng như các hàm tất cả sẵn của SQL Server, bạn chỉ cần gọi tên cùng truyền tham số vào (nếu có).


SELECT tinh_tong(10, 20) tong

Hoặc bạn thử chạy hàm đồ vật hai ở trên vào database mẫu;


SELECT sales.udf
Net
Sale(10,100,0.1) net_sale

Thì công dụng sẽ như hình sau:

Bây tiếng hãy vận dụng nó vào câu lệnh select nhằm hiện thị giá cho từng sản phẩm phía bên trong tableorder_items.


SELECT order_id, SUM(sales.udf
Net
Sale(quantity, list_price, discount)) net_amount
FROM sales.order_items
GROUP BY order_id
ORDER BY net_amount DESC;

Kết quả đã như hình sau:

3. Sửa function trong SQL Server

Tương từ bỏ như Stored Procedure, để sửa đổi function thì bạn sử dụng cú pháp sau:


ALTER FUNCTION function_name (parameter_list) RETURN data_type AS BEGIN statements RETURN value END

Nội dung mới của function sẽ thay thế sửa chữa nội dung cũ. Lệnh ni chỉ sửa được với hồ hết function cơ mà do chính bạn tạo nên thôi nhé, thiết yếu sửa những function tất cả sẵn như count, concat.

4. Xóa functiontrong SQL Server

Để xóa một function nào kia thì bạn sử dụng lệnh DROP FUNCTION với cấu trúc như sau:


DROP FUNCTION function_name;

Ví dụ bạn thích xóa function đã chế tạo ở trên thì chạy lệnh sau:


DROP FUNCTION sales.udf
Net
Sale;

Tương tự, chúng ta chỉ rất có thể xóa function do các bạn tự tạo.

Một vài chú ý khác

Mỗi function rất có thể sử dụng ở bất cứ đâu trong câu lệnh T-SQL và phía bên trong phạm vi database.

Có thể có rất nhiều tham số, mặc dù chỉ trả về được một quý hiếm duy nhất, sẽ phải return.

Có thể áp dụng mọi câu lệnh T-SQL bên phía trong function.

Function này rất có thể sử dụng function khác


bài trước bài xích tiếp


Hàm CHAR vào SQL vps

Cách thực hiện hàm CHAR vào SQL hệ thống



Hàm CHARINDEX vào SQL vps

Cách áp dụng hàm CHARINDEX trong SQL vps



Hàm CONCAT trong SQL hệ thống

Cách áp dụng hàm CONCAT vào SQL vps



Hàm + vào SQL hệ thống

Cách sử dụng hàm + trong SQL server


Hàm DATALENGTH vào SQL hệ thống

Cách thực hiện hàm DATALENGTH trong SQL server


Hàm LEFT trong SQL hệ thống

Cách áp dụng hàm LEFT trong SQL vps


Hàm LEN vào SQL server

Cách sử dụng hàm LEN vào SQL vps


Hàm LOWER trong SQL server

Cách thực hiện hàm LOWER trong SQL vps


Hàm LTRIM trong SQL vps

Cách sử dụng hàm LTRIM trong SQL hệ thống


Hàm NCHAR trong SQL server

Cách sử dụng hàm NCHAR trong SQL server


Hàm PATINDEX vào SQL vps

Cách sử dụng hàm PATINDEX trong SQL server


Hàm REPLACE trong SQL server

Cách áp dụng hàm REPLACE trong SQL hệ thống


Hàm RIGHT trong SQL vps

Cách thực hiện hàm RIGHT vào SQL hệ thống


Hàm RTRIM trong SQL hệ thống

Cách sử dụng hàm RTRIM trong SQL server


Hàm SPACE vào SQL server

Cách áp dụng hàm SPACE vào SQL server


Hàm STR vào SQL server

Cách sử dụng hàm STR vào SQL vps


Hàm UPPER vào SQL server

Cách áp dụng hàm UPPER trong SQL vps


Hàm SUBSTRING vào SQL server

Cách áp dụng hàm SUBSTRING trong SQL server


Hàm STUFF vào SQL server

Cách áp dụng hàm STUFF trong SQL hệ thống


Hàm ABS trong SQL server

Cách sử dụng hàm ABS trong SQL vps


WORDPRESS
HTML Templates
Theme Word
Press
Plugin Word
Press
lập trình Word
Press
thủ thuật Word
Press
WEB HOSTING
quản trị Linux
thủ thuật Hosting
kiến thức Domain
WEB FRONTEND
Javascript
Angular
JS
j
Query
j
Query sản phẩm điện thoại
HTML & CSS
Bootstrap
Type
Script
SASS CSS
Vue
JS
Nest
JS
học React
JS
Tailwind CSS
WEB BACKEND
PHP
Codeigniter
Laravel
Phalcon
Open
Cart
Node
JS
Blogspot
DATABASE
học tập My
SQL
học tập Mongo
DB
cơ sở dữ liệu căn bản
học Oracle
học tập SQL vps
học SQLite
PROGRAMMING
Python
Java
Pascal
học tập C#
học tập Ruby
học Swift
C / C++
Kotlin
Golang
lời giải
Visual Basic
MOBILE DEV
React Native
học i
OS
app android
Flutter
CÔNG CỤ
học Git
Testing
Control Panel
Dev Tool
FFmpeg
TIN HỌC
Excel
Word
Power
Point
Access
Photoshop
MÔN HỌC
tiếng Anh
Toán
giờ Nhật
Văn học
VIDEO
CSS Lab
PHP Lab
giới thiệu
ra mắt Liên hệ chính sách Điều khoản nhacaitang100k.com
thủ thuật
máy tính Game Điện thoại Ứng dụng
link hay
Môn học tập Toán Văn học tập Tiếng Anh
links
gamehow.net https://vuagamemod.com f8bet https://sm66.ca/ nhà dòng F8bet Jun88

BET69 kèo nhà mẫu Vn138.com


6686 online, 6686 pw, Tải tiện ích dk8, dk8 bet