Cơ sở dữ liệu
So sánh với thủ tục
Tương tự như Stored Procedure
Là một đối tượng CSDL chứa các câu lệnh SQL, được biên dịch sẵn và lưu trữ trong CSDL.
Khác với Stored Procedure
Các hàm luôn phải trả về một giá trị, sử dụng câu lệnh RETURN
Hàm không có tham số đầu ra
Không được chứa các câu lệnh INSERT, UPDATE, DELETE một bảng hoặc view đang tồn tại trong CSDL
Có thể tạo bảng, bảng tạm, biến bảng và thực hiện các câu lệnh INSERT, UPDATE, DELETE trên các bảng, bảng tạm, biến bảng vừa tạo trong thân hàm
Ví dụ:
Viết hàm tính tuổi của người có năm sinh là @ns:

Các loại hàm
Hàm giá trị vô hướng

DEFAULT tại đúng vị trí tham số tùy chọn đó.Ví dụ 1:
Câu lệnh tạo hàm giá trị vô hướng trả về tổng số lượng nhân viên:

Ví dụ 2:
Câu lệnh tạo hàm giá trị vô hướng trả về tổng số lượng nhân viên theo giới tính:

Hàm giá trị bảng đơn giản
VIEWCú pháp

Ví dụ:
Viết hàm trả về bảng các nhân viên làm việc ở phòng số 5

Hàm giá trị bảng đa câu lệnh
Cú pháp

Ví dụ:

Xóa nội dung một hàm
Cú pháp:
Cú pháp tạo VIEW

Tên view không được trùng với tên bảng hoặc view đã tồn tại
Câu lệnh SELECT tạo VIEW không được chứa mệnh đề INTO, hoặc ORDER BY trừ khi chứa từ khóa TOP
Đặt tên cột:
- Cột chứa giá trị được tính toán từ nhiều cột khác phải được đặt tên
- Nếu cột không được đặt tên, tên cột sẽ được mặc định giống tên cột của bảng cơ sở

Phân loại VIEW
VIEW chỉ đọc (read-only view)
View này chỉ dùng để xem dữ liệu
VIEW có thể cập nhật (updatable view)
Xem dữ liệu
Có thể sử dụng câu lệnh INSERT, UPDATE, DELETE để cập nhật dữ liệu trong các bảng cơ sở qua View
SELECT không được chứa:
DISTINCT hoặc TOPGROUP BY và HAVINGUNIONVIEW vi phạm một trong các điều kiện trên, VIEW được tạo ra sẽ là VIEW chỉ đọcVIEW có thể cập nhật

VIEW chỉ đọc

Xóa và chỉnh sửa VIEW
Câu lệnh xóa
DROP VIEW <tên View>
Câu lệnh chỉnh sửa

Ví dụ:
