- [SQLSERVER] Loại bỏ Restricted User trên database MSSQL
- [C#] Hướng dẫn tạo mã QRcode Style trên winform
- [C#] Hướng dẫn sử dụng temp mail service api trên winform
- [C#] Hướng dẫn tạo mã thanh toán VietQR Pay không sử dụng API trên winform
- [C#] Hướng Dẫn Tạo Windows Service Đơn Giản Bằng Topshelf
- [C#] Chia sẻ source code đọc dữ liệu từ Google Sheet trên winform
- [C#] Chia sẻ source code tạo mã QR MOMO đa năng Winform
- [C#] Chia sẻ source code phần mềm lên lịch tự động chạy ứng dụng Scheduler Task Winform
- [Phần mềm] Tải và cài đặt phần mềm Sublime Text 4180 full version
- [C#] Hướng dẫn download file từ Minio Server Winform
- [C#] Hướng dẫn đăng nhập zalo login sử dụng API v4 trên winform
- [SOFTWARE] Phần mềm gởi tin nhắn Zalo Marketing Pro giá rẻ mềm nhất thị trường
- [C#] Việt hóa Text Button trên MessageBox Dialog Winform
- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
[DATABASE] Hướng dẫn tạo Scalar Function trong sqlserver
Xin chào các bạn, bài viết hôm nay mình sẽ tiếp tục hướng dẫn các bạn cách tạo và sử dụng Scalar Function trong Sqlserver.
[DATABASE] Hướng dẫn tạo Scalar Function trong sqlserver
Trong Function của Sqlserver được chia làm hai loại:
- Scalar Function => Trả về một giá trị duy nhất (Single Value)
- Table Function => Trả về một bảng Table
Cú pháp tạo hàm Scalar Function sql:
CREATE FUNCTION [schema_name.]function_name (parameter_list)
RETURNS data_type AS
BEGIN
statements
RETURN value
END
+ Chúng ta sẽ sử dụng từ khóa CREATE FUNCTION
để tạo một function trong sql
+ Truyền tham số parameter (nếu có)
+ Chỉ định kiểu dữ liệu trả về (int, varchar(), float...) trong từ khóa RETURNS
+ Và cuối cùng là sử dụng từ khóa RETURN
để trả giá trị của kết quả về.
Bây giờ, mình sẽ viết một hàm ví dụ tính Doanh thu dựa trên số lượng, giá niêm yết và chiết khấu cho sản phẩm như sau:
CREATE FUNCTION sales.udfNetSale(
@quantity INT,
@list_price DEC(10,2),
@discount DEC(4,2)
)
RETURNS DEC(10,2)
AS
BEGIN
RETURN @quantity * @list_price * (1 - @discount);
END;
Chúng ta có bảng Table sales.order_items sau:
Sau khi, các bạn chạy lệnh trên để tạo function xong, các bạn vào đường sau trong Sqlserver Management Studio để xem function vừa tạo theo đường dẫn sau:
Programmability > Functions > Scalar-valued Functions
Và cách gọi hàm để sử dụng như sau:
SELECT
sales.udfNetSale(10,100,0.1) net_sale;
Và dưới đây là kết quả trả về:
Chỉnh sửa Scalar Function chúng ta sẽ sử dụng từ khóa ALTER FUNCTION
.
Nếu các bạn muốn tích hợp sẵn, nếu chưa có function chúng ta sẽ sử dụng từ khóa CREATE
và nếu có rồi chúng ta sẽ sử dụng từ khóa ALTER
.
Cấu trúc chỉnh sửa SQL:
CREATE OR ALTER FUNCTION [schema_name.]function_name (parameter_list)
RETURN data_type AS
BEGIN
statements
RETURN value
END
Cách Xóa Scalar Function SQL:
Đế xóa một Function chúng ta sẽ sử dụng từ khóa DROP FUNCTION
DROP FUNCTION [schema_name.]function_name;
Những chú ý khi chúng ta sử dụng Sacalar Function SQL:
- Scalar Function có thể sử dụng trong các câu lệnh truy vấn T-SQL.
- Cho phép một hoặc nhiều tham số (parameter) truyền vào nhưng giá trị trả về chỉ một giá trị (Single Value).
- Có thể sử dụng cấu trúc rẻ nhánh IF, và vòng lặp WHILE trong hàm.
- Trong Scalar không cho phép chúng ta sử dụng từ khóa UPDATE để cập nhật dữ liệu.
- Scalar function có thể được gọi lại để sử dụng trong các function khác.
Thanks for watching!