ฟังก์ชัน (ฟังก์ชัน) เป็นอ็อบเจ็กต์ในฐานข้อมูลที่ประกอบด้วยชุดของหลายคำสั่งที่จัดกลุ่มเข้าด้วยกันและสร้างขึ้นเพื่อวัตถุประสงค์ในการใช้งานซ้ำ ใน SQL Server ฟังก์ชันต่างๆ จะถูกเก็บไว้และคุณสามารถส่งผ่านพารามิเตอร์ต่างๆ ได้เช่นเดียวกับค่าที่ส่งคืน
บทความนี้จะให้ตัวอย่างไวยากรณ์และตัวอย่างวิธีสร้างและลบฟังก์ชันใน SQL Server
สร้างฟังก์ชัน (สร้างฟังก์ชัน)
ไวยากรณ์
ในการสร้างฟังก์ชันใน SQL Server เราใช้ไวยากรณ์ต่อไปนี้:
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;
พารามิเตอร์:
- schema_name: ชื่อสคีมา (สคีมา) พร้อมฟังก์ชัน
- function_name: ชื่อที่กำหนดให้กับฟังก์ชัน
- @parameter: พารามิเตอร์อย่างน้อยหนึ่งรายการถูกส่งผ่านไปยังฟังก์ชัน
- type_schema_name: ชนิดข้อมูลของสคีมา (ถ้ามี)
- ประเภทข้อมูล: ชนิดข้อมูลสำหรับ @parameter
- ค่าเริ่มต้น: ค่าเริ่มต้นที่กำหนดให้กับ @parameter
- อ่านอย่างเดียว: @parameter ไม่สามารถเขียนทับโดยฟังก์ชันได้
- return_datatype: ชนิดข้อมูลของค่าตอบแทน
- การเข้ารหัส: ซอร์สโค้ดของฟังก์ชันจะไม่ถูกจัดเก็บเป็นข้อความในระบบ
- การทำแผนผัง: ตรวจสอบให้แน่ใจว่าวัตถุที่ไม่ได้รับการแก้ไขส่งผลต่อฟังก์ชัน
- คืนค่า NULL บน NULL INPUT :ฟังก์ชันจะคืนค่า NULL หากพารามิเตอร์ใดเป็น NULL
- CALL ON NULL INPUT :ฟังก์ชันจะทำงานแม้ว่าพารามิเตอร์จะเป็น NULL
- ดำเนินการตาม อนุประโยค:ระบุบริบทความปลอดภัยเพื่อดำเนินการฟังก์ชัน
- return_value: ค่าที่ส่งคืน
ตัวอย่าง
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;
ชื่อฟังก์ชันด้านบน fuNhanvien มี @nhanvien_id พารามิเตอร์ที่มีชนิดข้อมูล INT ฟังก์ชันจะคืนค่า VARCHAR (50) เมื่อดำเนินการคำสั่ง RETURNS
จากนั้นคุณสามารถสร้างข้อมูลอ้างอิง fuNhanvien ดังนี้
USE [test]
GO
SELECT dbo.fuNhanvien (8);
GO
วางฟังก์ชัน (ฟังก์ชันลบ)
เมื่อคุณสร้างฟังก์ชันสำเร็จแล้ว จะมีบางกรณีที่คุณต้องการลบฟังก์ชันออกจากฐานข้อมูลด้วยเหตุผลบางประการ
ไวยากรณ์
หากต้องการลบฟังก์ชัน เรามีรูปแบบดังนี้:
DROP FUNCTION function_name ;
พารามิเตอร์:
function_name: ชื่อฟังก์ชันที่คุณต้องการลบ .
ตัวอย่าง
DROP FUNCTION fuNhanvien;
การดำเนินการคำสั่งนี้แสดงว่าคุณเพิ่งลบ fu จากฐานข้อมูล