Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL Server

FUNCTION (ฟังก์ชัน) ใน SQL Server

ฟังก์ชัน (ฟังก์ชัน) เป็นอ็อบเจ็กต์ในฐานข้อมูลที่ประกอบด้วยชุดของหลายคำสั่งที่จัดกลุ่มเข้าด้วยกันและสร้างขึ้นเพื่อวัตถุประสงค์ในการใช้งานซ้ำ ใน 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;

พารามิเตอร์:

  1. schema_name: ชื่อสคีมา (สคีมา) พร้อมฟังก์ชัน
  2. function_name: ชื่อที่กำหนดให้กับฟังก์ชัน
  3. @parameter: พารามิเตอร์อย่างน้อยหนึ่งรายการถูกส่งผ่านไปยังฟังก์ชัน
  4. type_schema_name: ชนิดข้อมูลของสคีมา (ถ้ามี)
  5. ประเภทข้อมูล: ชนิดข้อมูลสำหรับ @parameter
  6. ค่าเริ่มต้น: ค่าเริ่มต้นที่กำหนดให้กับ @parameter
  7. อ่านอย่างเดียว: @parameter ไม่สามารถเขียนทับโดยฟังก์ชันได้
  8. return_datatype: ชนิดข้อมูลของค่าตอบแทน
  9. การเข้ารหัส: ซอร์สโค้ดของฟังก์ชันจะไม่ถูกจัดเก็บเป็นข้อความในระบบ
  10. การทำแผนผัง: ตรวจสอบให้แน่ใจว่าวัตถุที่ไม่ได้รับการแก้ไขส่งผลต่อฟังก์ชัน
  11. คืนค่า NULL บน NULL INPUT :ฟังก์ชันจะคืนค่า NULL หากพารามิเตอร์ใดเป็น NULL
  12. CALL ON NULL INPUT :ฟังก์ชันจะทำงานแม้ว่าพารามิเตอร์จะเป็น NULL
  13. ดำเนินการตาม อนุประโยค:ระบุบริบทความปลอดภัยเพื่อดำเนินการฟังก์ชัน
  14. 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 จากฐานข้อมูล