Tải bản đầy đủ - 0 (trang)
c. Hàm Multi-statement Table-valued Function

c. Hàm Multi-statement Table-valued Function

Tải bản đầy đủ - 0trang

Ví dụ:

- Xây dựng hàm có tham số là mã nhân viên. Nếu tham số giữ giá trị mặc

định (NULL) khi thực thi thì hàm sẽ truy xuất thơng tin của tất cả nhân

viên. Ngược lại hàm sẽ truy xuất thơng tin của nhân viên có mã được truyền

vào.



126



CREATE FUNCTION NHANVIEN_MaNV (@MaNV varchar(10))

RETURNS @Tb TABLE (MaNV varchar(10), HoTen nvarchar(50) )

AS

BEGIN

IF @MaNV IS NULL

BEGIN

INSERT INTO @Tb

SELECT MaNV, HoNV + ' ' + TenNV AS HoTen FROM NHANVIEN

END

ELSE

127



BEGIN

INSERT INTO @Tb

SELECT MaNV, HoNV + ' ' + TenNV AS HoTen FROM NHANVIEN

WHERE MaNV=@MaNV

END

RETURN

END



Lệnh gọi hàm:

 SELECT * FROM NHANVIEN_MaNV ('01')

 SELECT * FROM NHANVIEN_MaNV (NULL)

128



Thay đổi và xoá hàm:

a. Thay đổi hàm

- Dùng lệnh ALTER FUNCTION để thay đổi định nghĩa hàm

- Cấu trúc thân hàm cần thay đổi cũng tương tự như CREATE FUNCTION

b. Xố hàm

- Dùng lệnh DROP FUNCTION để xóa hàm

- Cú pháp: DROP FUNCTION



129



Thay đổi và xoá hàm bằng cơng cụ:

- Chọn hàm cần thay đổi hoặc xố → R_Click



130



Trigger:

- Trigger là một dạng đặc biệt của thủ tục lưu trữ, được thực thi một cách tự

động khi có sự thay đổi đối tượng CSDL (thay đổi cấu trúc, dữ liệu, …).

- Có 2 loại trigger chính: DML (Data Manipulation Language) triggers, DDL

(Data Definition Language) triggers.



131



Trigger định nghĩa dữ liệu (DDL triggers):

- Loại trigger được kích hoạt khi có các sự kiện liên quan đến việc định nghĩa

dữ liệu. Sử dụng DDL Trigger nhằm 1 số mục đích sau đây: Tránh sự thay

đổi lược đồ database hoặc lưu giữ những sự thay đổi lược đồ database.

- Một số sự kiện được dùng trong Trigger định nghĩa dữ liệu:

ALTER_TABLE, DROP_TABLE, CREATE_TABLE,…



132



Cú pháp:

CREATE TRIGGER Tên_trigger

ON { ALL SERVER | DATABASE }

[ WITH ENCRYPTION ]

{ FOR | AFTER } {CREATE_TABLE, ALTER_TABLE, … }

AS

BEGIN



END

133



Ví dụ, tạo trigger khơng cho phép: tạo bảng mới, thay đổi và xố các bảng đã

có trong CSDL.

CREATE TRIGGER KhongThayDoi

ON DATABASE

FOR CREATE_TABLE, ALTER_TABLE, DROP_TABLE

AS

BEGIN

PRINT N'Không được tạo mới, thay đổi và xoá bảng'

ROLLBACK

END

134



Trigger thao tác dữ liệu (DML triggers):

- Trigger thao tác dữ liệu là loại trigger được kích hoạt khi có các sự kiện

insert, update, delete dữ liệu trên các bảng.

- Các sự kiện được dùng trong Trigger thao tác dữ liệu: INSERT, UPDATE,

DELETE.



135



Cú pháp:

CREATE TRIGGER Tên_trigger

ON { table | view }

{ FOR | AFTER | INSTEAD OF }

{ [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }

AS

BEGIN



END

136



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

c. Hàm Multi-statement Table-valued Function

Tải bản đầy đủ ngay(0 tr)

×