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

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

Function (ฟังก์ชัน) เป็นอ็อบเจกต์ในฐานข้อมูลที่ประกอบด้วยชุดคำสั่งหลายคำสั่งจัดกลุ่มไว้ด้วยกัน สร้างขึ้นเพื่อวัตถุประสงค์การนำกลับมาใช้ใหม่ ใน SQL Server ฟังก์ชันถูกเก็บไว้ และคุณสามารถส่งพารามิเตอร์เข้าไป รวมถึงคืนค่า

บทความนี้จะให้ไวยากรณ์และตัวอย่างวิธีสร้างและลบฟังก์ชันใน SQL Server

CREATE FUNCTION (สร้างฟังก์ชัน)

ไวยากรณ์

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

หลังจากสร้างฟังก์ชันสำเร็จแล้ว จะมีกรณีที่ต้องการลบฟังก์ชันออกจากฐานข้อมูลด้วยเหตุผลบางอย่าง

ไวยากรณ์

การลบฟังก์ชันมีไวยากรณ์ดังนี้:

DROP FUNCTION function_name;

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

function_name: ชื่อฟังก์ชันที่ต้องการลบ

ตัวอย่าง

DROP FUNCTION fuNhanvien;

การรันคำสั่งนี้จะลบฟังก์ชัน fuNhanvien ออกจากฐานข้อมูล