SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
Bài 5:
HÀM NGƯỜI DÙNG ĐỊNH NGHĨA & VIEW
Các nội dung đã học trong bài trước
Stored Procedure
Giao dịch
Hệ thống bài cũ
Hàm người dùng định nghĩa & View 2
Mục tiêu bài học
1. Hàm người dùng định nghĩa
Hàm người dùng định nghĩa & View 3
2. View
Hàm người dùng định nghĩa & View 4
Hàm người dùng tự định nghĩa
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, thực hiện một hành
động như các tính toán phức tạp và trả về kết quả
là một giá trị.
Giá trị trả về có thể là
Giá trị vô hướng
Một bảng
Hàm người dùng tự định nghĩa
Hàm người dùng tự định nghĩa
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, thực hiện một hành
động như các tính toán phức tạp và trả về kết quả
là một giá trị.
Giá trị trả về có thể là
Giá trị vô hướng
Một bảng
Hàm người dùng định nghĩa & View 5
Hàm người dùng tự định nghĩa
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
Hàm người dùng tự định nghĩa
Hàm người dùng tự định nghĩa
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
Hàm người dùng định nghĩa & View 6
Một ví dụ về hàm trả về giá trị vô hướng
Một ví dụ
về hàm người dùng định nghĩa
CREATE FUNCTION fnVendorID
(@VendorName varchar(50))
RETURNS int
BEGIN
RETURN (SELECT VendorID FROM Vendors WHERE VendorName = @VendorName)
END
Câu lệnh gọi hàm
Hàm người dùng định nghĩa & View 7
SELECT InvoiceDate, InvoiceTotal
FROM Invoices
WHERE VendorID = dbo.fnVendorID('IBM')
Câu lệnh gọi hàm
Kiểu hàm Mô tả
Hàm giá trị vô hướng Trả về giá trị đơn của mọi kiểu dữ liệu T-SQL.
Hàm giá trị bảng đơn
giản
Trả về bảng, là kết quả của một câu lệnh SELECT
đơn.
Hàm giá trị bảng nhiều
câu lệnh
Trả về bảng, là kết quả của nhiều câu lệnh.
Các loại hàm người dùng tự định nghĩa
Hàm giá trị bảng nhiều
câu lệnh
Hàm người dùng định nghĩa & View 8
Cú pháp tạo hàm giá trị vô hướng
CREATE FUNCTION [<tên schema>.] <tên hàm>
([@<tên tham số> <kiểu dữ liệu> [= <Giá trị mặc định>]] [, …])
RETURNS <kiểu dữ liệu>
[WITH [ENCRYPTION] [, SCHEMABINDING] [, <Mệnh đề EXECUTE AS>]]
[AS]
BEGIN
[<Câu lệnh SQL>]
RETURN <Biểu thức vô hướng>
END
Chú ý:
Câu lệnh gọi hàm:
Không thể truyền tham số theo tên
Truyền đầy đủ các tham số theo vị trí. Kể cả tham số tùy chọn,
nếu muốn sử dụng giá trị mặc định, phải đặt từ khóa DEFAULT
tại đúng vị trí tham số tùy chọn đó.
Tạo hàm giá trị vô hướng
Cú pháp tạo hàm giá trị vô hướng
CREATE FUNCTION [<tên schema>.] <tên hàm>
([@<tên tham số> <kiểu dữ liệu> [= <Giá trị mặc định>]] [, …])
RETURNS <kiểu dữ liệu>
[WITH [ENCRYPTION] [, SCHEMABINDING] [, <Mệnh đề EXECUTE AS>]]
[AS]
BEGIN
[<Câu lệnh SQL>]
RETURN <Biểu thức vô hướng>
END
Chú ý:
Câu lệnh gọi hàm:
Không thể truyền tham số theo tên
Truyền đầy đủ các tham số theo vị trí. Kể cả tham số tùy chọn,
nếu muốn sử dụng giá trị mặc định, phải đặt từ khóa DEFAULT
tại đúng vị trí tham số tùy chọn đó.
Hàm người dùng định nghĩa & View 9
Câu lệnh tạo hàm giá trị vô hướng trả về tổng số tiền đáo
hạn của các hóa đơn
Ví dụ về hàm giá trị vô hướng
CREATE FUNCTION fnBalanceDue()
RETURNS money
BEGIN
RETURN (SELECT SUM(InvoiceTotal - PaymentTotal - CreditTotal)
FROM Invoices
WHERE InvoiceTotal - PaymentTotal -
CreditTotal > 0)
END
Hàm người dùng định nghĩa & View 10
CREATE FUNCTION fnBalanceDue()
RETURNS money
BEGIN
RETURN (SELECT SUM(InvoiceTotal - PaymentTotal - CreditTotal)
FROM Invoices
WHERE InvoiceTotal - PaymentTotal -
CreditTotal > 0)
END
Câu lệnh tạo hàm giá trị vô hướng trả về tổng số tiền đáo
hạn của các hóa đơn
PRINT 'Balance due: $' + CONVERT(varchar,dbo.fnBalanceDue(),1)
Cú pháp câu lệnh tạo hàm giá trị bảng đơn giản
CREATE FUNCTION [<tên schema>.] <tên hàm>
([@<tên tham số> <kiểu dữ liệu> [= <Giá trị mặc định>]] [, …])
RETURNS TABLE
[WITH {ENCRYPTION|SCHEMABINDING|ENCRYPTION,
SCHEMABINDING}]
[AS]
RETURN [(] <Câu lệnh SELECT> [)]
Chú ý
Hàm giá trị bảng đơn giản còn gọi là hàm giá trị bảng nội
tuyến
Hàm giá trị bảng đơn giản có thể được dùng trong câu
lệnh truy vấn thay thế cho tên bảng hoặc tên view.
Hàm giá trị bảng đơn giản
Cú pháp câu lệnh tạo hàm giá trị bảng đơn giản
CREATE FUNCTION [<tên schema>.] <tên hàm>
([@<tên tham số> <kiểu dữ liệu> [= <Giá trị mặc định>]] [, …])
RETURNS TABLE
[WITH {ENCRYPTION|SCHEMABINDING|ENCRYPTION,
SCHEMABINDING}]
[AS]
RETURN [(] <Câu lệnh SELECT> [)]
Chú ý
Hàm giá trị bảng đơn giản còn gọi là hàm giá trị bảng nội
tuyến
Hàm giá trị bảng đơn giản có thể được dùng trong câu
lệnh truy vấn thay thế cho tên bảng hoặc tên view.
Hàm người dùng định nghĩa & View 11
Câu lệnh tạo hàm giá trị bảng đơn giản
Demo
Hàm giá trị bảng đơn giản
CREATE FUNCTION fnTopVendorsDue
(@CutOff money = 0)
RETURNS table
RETURN
(SELECT VendorName, SUM(InvoiceTotal) AS TotalDue
FROM Vendors JOIN Invoices ON Vendors.VendorID = Invoices.VendorID
WHERE InvoiceTotal - CreditTotal - PaymentTotal > 0
GROUP BY VendorName
HAVING SUM(InvoiceTotal) >= @CutOff)
Hàm người dùng định nghĩa & View 12
CREATE FUNCTION fnTopVendorsDue
(@CutOff money = 0)
RETURNS table
RETURN
(SELECT VendorName, SUM(InvoiceTotal) AS TotalDue
FROM Vendors JOIN Invoices ON Vendors.VendorID = Invoices.VendorID
WHERE InvoiceTotal - CreditTotal - PaymentTotal > 0
GROUP BY VendorName
HAVING SUM(InvoiceTotal) >= @CutOff)
SELECT * FROM dbo.fnTopVendorsDue(5000)
SELECT Vendors.VendorName, VendorCity, TotalDue
FROM Vendors JOIN dbo.fnTopVendorsDue(DEFAULT) AS TopVendors
ON Vendors.VendorName = TopVendors.VendorName
Câu lệnh gọi hàm
Câu lệnh SELECT sử dụng hàm trong phép kết nối
Cú pháp:
CREATE FUNCTION [<tên schema>] <tên hàm>
([@<tên tham số> <tên kiểu dữ liệu> [= <Giá trị mặc định>]] [,…])
RETURNS @<tên biến trả về> TABLE
(<tên cột 1> <kiểu dữ liệu> [<Các thuộc tính cột>]
[, <tên cột 1> <kiểu dữ liệu> [<Các thuộc tính cột>]]…)
[WITH [ENCRYPTION] [, SCHEMABINDING] [, <mệnh đề EXECUTE AS>]]
[AS]
BEGIN
<Các câu lệnh SQL>
RETURN
END
Hàm giá trị bảng đa câu lệnh
Cú pháp:
CREATE FUNCTION [<tên schema>] <tên hàm>
([@<tên tham số> <tên kiểu dữ liệu> [= <Giá trị mặc định>]] [,…])
RETURNS @<tên biến trả về> TABLE
(<tên cột 1> <kiểu dữ liệu> [<Các thuộc tính cột>]
[, <tên cột 1> <kiểu dữ liệu> [<Các thuộc tính cột>]]…)
[WITH [ENCRYPTION] [, SCHEMABINDING] [, <mệnh đề EXECUTE AS>]]
[AS]
BEGIN
<Các câu lệnh SQL>
RETURN
END
Hàm người dùng định nghĩa & View 13
Ví dụ câu lệnh tạo hàm giá trị bảng đa câu lệnh
Demo
Hàm giá trị bảng đa câu lệnh
CREATE FUNCTION fnCreditAdj (@HowMuch money)
RETURNS @OutTable table
(InvoiceID int, VendorID int, InvoiceNumber varchar(50),
InvoiceDate smalldatetime, InvoiceTotal money,
PaymentTotal money, CreditTotal money)
BEGIN
INSERT @OutTable
SELECT InvoiceID, VendorID, InvoiceNumber, InvoiceDate,
InvoiceTotal, PaymentTotal, CreditTotal
FROM Invoices
WHERE InvoiceTotal - CreditTotal - PaymentTotal > 0
WHILE (SELECT SUM(InvoiceTotal - CreditTotal - PaymentTotal) FROM @OutTable) >= @HowMuch
BEGIN
UPDATE @OutTable
SET CreditTotal = CreditTotal + .01
WHERE InvoiceTotal - CreditTotal - PaymentTotal > 0
END
RETURN
END
Hàm người dùng định nghĩa & View 14
CREATE FUNCTION fnCreditAdj (@HowMuch money)
RETURNS @OutTable table
(InvoiceID int, VendorID int, InvoiceNumber varchar(50),
InvoiceDate smalldatetime, InvoiceTotal money,
PaymentTotal money, CreditTotal money)
BEGIN
INSERT @OutTable
SELECT InvoiceID, VendorID, InvoiceNumber, InvoiceDate,
InvoiceTotal, PaymentTotal, CreditTotal
FROM Invoices
WHERE InvoiceTotal - CreditTotal - PaymentTotal > 0
WHILE (SELECT SUM(InvoiceTotal - CreditTotal - PaymentTotal) FROM @OutTable) >= @HowMuch
BEGIN
UPDATE @OutTable
SET CreditTotal = CreditTotal + .01
WHERE InvoiceTotal - CreditTotal - PaymentTotal > 0
END
RETURN
END
Câu lệnh SELECT sử dụng hàm
Demo
Hàm giá trị bảng đa câu lệnh
SELECT VendorName, SUM(CreditTotal) AS CreditRequest
FROM Vendors JOIN dbo.fnCreditAdj(50000) AS CreditTable
ON Vendors.VendorID = CreditTable.VendorID
GROUP BY VendorName
Hàm người dùng định nghĩa & View 15
Cú pháp của câu lệnh DROP FUNCTION
DROP FUNCTION [<tên schema>.] <tên hàm> [, …]
Cú pháp của câu lệnh ALTER FUNCTION cho hàm
giá trị vô hướng
Cú pháp tương tự câu lệnh tạo hàm. Thay từ khóa CREATE
bởi từ khóa ALTER
Xóa và chỉnh sửa hàm
Cú pháp của câu lệnh DROP FUNCTION
DROP FUNCTION [<tên schema>.] <tên hàm> [, …]
Cú pháp của câu lệnh ALTER FUNCTION cho hàm
giá trị vô hướng
Cú pháp tương tự câu lệnh tạo hàm. Thay từ khóa CREATE
bởi từ khóa ALTER
Hàm người dùng định nghĩa & View 16
Hàm người dùng định nghĩa & View 17
View là một bảng ảo (virtual table) được tạo ra để cho
phép người dùng truy cập đến các cột được chỉ định của
một bảng.
Thực chất VIEW là một câu lệnh truy vấn được biên dịch
sẵn và lưu trữ như là một đối tượng trong CSDL.
View có thể bao gồm dữ liệu từ nhiều cột của các bảng
khác nhau. Các bảng này được gọi là bảng cơ sở
Khung nhìn - View
View là một bảng ảo (virtual table) được tạo ra để cho
phép người dùng truy cập đến các cột được chỉ định của
một bảng.
Thực chất VIEW là một câu lệnh truy vấn được biên dịch
sẵn và lưu trữ như là một đối tượng trong CSDL.
View có thể bao gồm dữ liệu từ nhiều cột của các bảng
khác nhau. Các bảng này được gọi là bảng cơ sở
Hàm người dùng định nghĩa & View 18
Một số lợi ích khi sử dụng View:
Che dấu và bảo mật dữ liệu
Không cho phép người dùng xem toàn bộ dữ liệu chứa trong
các bảng
Bằng cách chỉ định các cột trong View, các dữ liệu quan
trọng chứa trong một số cột của bảng có thể được che dấu.
Hiển thị dữ liệu một cách tùy biến
Với mỗi người dùng khác nhau, có thể tạo các View khác
nhau phù hợp với nhu cầu xem thông tin của từng người
dùng.
Lợi ích của View
Một số lợi ích khi sử dụng View:
Che dấu và bảo mật dữ liệu
Không cho phép người dùng xem toàn bộ dữ liệu chứa trong
các bảng
Bằng cách chỉ định các cột trong View, các dữ liệu quan
trọng chứa trong một số cột của bảng có thể được che dấu.
Hiển thị dữ liệu một cách tùy biến
Với mỗi người dùng khác nhau, có thể tạo các View khác
nhau phù hợp với nhu cầu xem thông tin của từng người
dùng.
Hàm người dùng định nghĩa & View 19
Một số lợi ích khi sử dụng View:
Lưu trữ câu lệnh truy vấn phức tạp và thường xuyên sử
dụng.
Thực thi nhanh hơn các câu lệnh truy vấn do đã được biên
dịch sẵn.
Đảm bảo tính toàn vẹn dữ liệu
Khi sử dụng View để cập nhật dữ liệu trong các bảng cơ sở,
SQL Server sẽ tự động kiểm tra các ràng buộc toàn vẹn trên
các bảng.
Lợi ích của View
Một số lợi ích khi sử dụng View:
Lưu trữ câu lệnh truy vấn phức tạp và thường xuyên sử
dụng.
Thực thi nhanh hơn các câu lệnh truy vấn do đã được biên
dịch sẵn.
Đảm bảo tính toàn vẹn dữ liệu
Khi sử dụng View để cập nhật dữ liệu trong các bảng cơ sở,
SQL Server sẽ tự động kiểm tra các ràng buộc toàn vẹn trên
các bảng.
Hàm người dùng định nghĩa & View 20
Cú pháp của câu lệnh CREATE VIEW
CREATE VIEW <tên view> [(<tên cột 1> [, <tên cột 2>]...)]
[WITH
{ENCRYPTION|SCHEMABINDING|ENCRYPTION,SCHEMABINDING}]
AS
<Câu lệnh SELECT>
[WITH CHECK OPTION]
Tạo View
Cú pháp của câu lệnh CREATE VIEW
CREATE VIEW <tên view> [(<tên cột 1> [, <tên cột 2>]...)]
[WITH
{ENCRYPTION|SCHEMABINDING|ENCRYPTION,SCHEMABINDING}]
AS
<Câu lệnh SELECT>
[WITH CHECK OPTION]
Hàm người dùng định nghĩa & View 21
Chú ý:
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ở.
Tạo View
Chú ý:
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ở.
Hàm người dùng định nghĩa & View 22
Ví dụ 1
Ví dụ 2: Câu lệnh CREATE VIEW sử dụng mệnh đề
TOP và ORDER BY
Ví dụ về View
CREATE VIEW VendorInvoices
AS
SELECT VendorName, InvoiceNumber, InvoiceDate,
InvoiceTotal
FROM Vendors JOIN Invoices ON Vendors.VendorID =
Invoices.VendorID
Ví dụ 1
Ví dụ 2: Câu lệnh CREATE VIEW sử dụng mệnh đề
TOP và ORDER BY
Hàm người dùng định nghĩa & View
CREATE VIEW TopVendors
AS
SELECT TOP 5 PERCENT Invoices.VendorID,
InvoiceTotal
FROM Invoices JOIN Vendors ON Vendors.VendorId =
Invoices.InvoiceId
ORDER BY InvoiceTotal DESC
23
Ví dụ 3: Câu lệnh đặt tên toàn bộ cột view trong
mệnh đề CREATE VIEW
Ví dụ 4: Câu lệnh đặt tên chỉ mình cột được tính
toán trong mệnh đề SELECT
Ví dụ về View
CREATE VIEW OutstandingInvoices (InvoiceNumber,
InvoiceDate, InvoiceTotal, BalanceDue)
AS
SELECT InvoiceNumber, InvoiceDate, InvoiceTotal,
InvoiceTotal - PaymentTotal - CreditTotal
FROM Invoices
WHERE InvoiceTotal - PaymentTotal - CreditTotal > 0
Ví dụ 3: Câu lệnh đặt tên toàn bộ cột view trong
mệnh đề CREATE VIEW
Ví dụ 4: Câu lệnh đặt tên chỉ mình cột được tính
toán trong mệnh đề SELECT
Hàm người dùng định nghĩa & View
CREATE VIEW OutstandingInvoices (InvoiceNumber,
InvoiceDate, InvoiceTotal, BalanceDue)
AS
SELECT InvoiceNumber, InvoiceDate, InvoiceTotal,
InvoiceTotal - PaymentTotal - CreditTotal
FROM Invoices
WHERE InvoiceTotal - PaymentTotal - CreditTotal > 0
CREATE VIEW OutstandingInvoices
AS
SELECT InvoiceNumber, InvoiceDate, InvoiceTotal,
InvoiceTotal - PaymentTotal – CreditTotal AS BalanceDue
FROM Invoices
WHERE InvoiceTotal - PaymentTotal - CreditTotal > 0
24
Hai 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
Hai loại View
Hai 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
Hàm người dùng định nghĩa & View 25
Các yêu cầu để tạo view có thể cập nhật
Câu lệnh SELECT không được chứa
Mệnh đề DISTINCT hoặc TOP.
Một hàm kết tập (Aggregate function)
Một giá trị được tính toán.
Mệnh đề GROUP BY và HAVING.
Toán tử UNION.
Nếu câu lệnh tạo View vi phạm một trong số điều kiện
trên. VIEW được tạo ra là VIEW chỉ đọc.
View có thể cập nhật
Các yêu cầu để tạo view có thể cập nhật
Câu lệnh SELECT không được chứa
Mệnh đề DISTINCT hoặc TOP.
Một hàm kết tập (Aggregate function)
Một giá trị được tính toán.
Mệnh đề GROUP BY và HAVING.
Toán tử UNION.
Nếu câu lệnh tạo View vi phạm một trong số điều kiện
trên. VIEW được tạo ra là VIEW chỉ đọc.
Hàm người dùng định nghĩa & View 26
Câu lệnh CREATE VIEW tạo view có thể cập nhật
Câu lệnh UPDATE cập nhật view
Câu lệnh CREATE VIEW tạo view chỉ đọc
Ví dụ View có thể cập nhật
CREATE VIEW InvoiceCredit
AS
SELECT InvoiceNumber, InvoiceDate, InvoiceTotal, PaymentTotal, CreditTotal
FROM Invoices
WHERE InvoiceTotal - PaymentTotal - CreditTotal > 0
UPDATE InvoiceCredit
SET CreditTotal = CreditTotal + 200
WHERE InvoiceTotal – PaymentTotal – CreditTotal >= 200
Câu lệnh CREATE VIEW tạo view có thể cập nhật
Câu lệnh UPDATE cập nhật view
Câu lệnh CREATE VIEW tạo view chỉ đọc
Hàm người dùng định nghĩa & View
UPDATE InvoiceCredit
SET CreditTotal = CreditTotal + 200
WHERE InvoiceTotal – PaymentTotal – CreditTotal >= 200
CREATE VIEW OutstandingInvoices
AS
SELECT InvoiceNumber, InvoiceDate, InvoiceTotal,
InvoiceTotal - PaymentTotal - CreditTotal
AS BalanceDue
FROM Invoices
WHERE InvoiceTotal - PaymentTotal - CreditTotal > 0
27
Cú pháp câu lệnh xóa View
DROP VIEW <tên View>
Cú pháp câu lệnh chỉnh sửa View
ALTER VIEW <tên View> [(<tên cột 1> [,<tên cột 2>]...)]
[WITH
{ENCRYPTION|SCHEMABINDING|ENCRYPTION,SCHEMABINDING}]
AS <câu lệnh SELECT>
[WITH CHECK OPTION]
Xóa và chỉnh sửa View
Cú pháp câu lệnh xóa View
DROP VIEW <tên View>
Cú pháp câu lệnh chỉnh sửa View
ALTER VIEW <tên View> [(<tên cột 1> [,<tên cột 2>]...)]
[WITH
{ENCRYPTION|SCHEMABINDING|ENCRYPTION,SCHEMABINDING}]
AS <câu lệnh SELECT>
[WITH CHECK OPTION]
Hàm người dùng định nghĩa & View 28
Câu lệnh tạo view
Câu lệnh chỉnh sửa view
Câu lệnh xóa view
Ví dụ
Xóa và chỉnh sửa View
CREATE VIEW Vendors_SW
AS
SELECT * FROM Vendors
WHERE VendorState IN ('CA','AZ','NV','NM')
ALTER VIEW Vendors_SW
AS
SELECT *
FROM Vendors
WHERE VendorState IN ('CA','AZ','NV','NM','UT','CO')
Câu lệnh tạo view
Câu lệnh chỉnh sửa view
Câu lệnh xóa view
Hàm người dùng định nghĩa & View
ALTER VIEW Vendors_SW
AS
SELECT *
FROM Vendors
WHERE VendorState IN ('CA','AZ','NV','NM','UT','CO')
DROP VIEW Vendors_SW
29
Management Studio cung cấp công cụ View Designer để
làm việc với View
Cách sử dụng công cụ này tương tự như Query Designer
Hướng dẫn sử dụng View Designer
Tạo View
Hàm người dùng định nghĩa & View 30
Hướng dẫn sử dụng View Designer
Xóa và chỉnh sửa View
Chỉnh sửa View
Hàm người dùng định nghĩa & View
Chỉnh sửa View
Xóa View
31
Hàm người dùng định nghĩa
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.
Một hàm luôn phải trả về một giá trị
Không có tham số đầu ra
Ba loại hàm
Hàm giá trị vô hướng
Hàm giá trị bảng
Hàm giá trị bảng đa câu lệnh
Tổng kết
Hàm người dùng định nghĩa
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.
Một hàm luôn phải trả về một giá trị
Không có tham số đầu ra
Ba loại hàm
Hàm giá trị vô hướng
Hàm giá trị bảng
Hàm giá trị bảng đa câu lệnh
Hàm người dùng định nghĩa & View 32
View: là một câu lệnh truy vấn được biên dịch sẵn và lưu
trữ như là một đối tượng trong CSDL
Hai loại View
View chỉ đọc
View có thể cập nhật
SQL server cung cấp các phương pháp làm việc với View
Tạo, sửa, xóa View sử dụng câu lệnh SQL
Tạo, sửa xóa sử dụng View Designer
Tổng kết
View: là một câu lệnh truy vấn được biên dịch sẵn và lưu
trữ như là một đối tượng trong CSDL
Hai loại View
View chỉ đọc
View có thể cập nhật
SQL server cung cấp các phương pháp làm việc với View
Tạo, sửa, xóa View sử dụng câu lệnh SQL
Tạo, sửa xóa sử dụng View Designer
Hàm người dùng định nghĩa & View 33

Mais conteúdo relacionado

Mais procurados

SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)
SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)
SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)Pix Nhox
 
Phân tích và thiết kế HTTT
Phân tích và thiết kế HTTTPhân tích và thiết kế HTTT
Phân tích và thiết kế HTTTLy hai
 
Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql. .
 
Báo cáo tốt nghiệp - XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ NHÀ HÀNG VỪA VÀ NHỎ SỬ DỤ...
Báo cáo tốt nghiệp - XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝNHÀ HÀNG VỪA VÀ NHỎ SỬ DỤ...Báo cáo tốt nghiệp - XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝNHÀ HÀNG VỪA VÀ NHỎ SỬ DỤ...
Báo cáo tốt nghiệp - XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ NHÀ HÀNG VỪA VÀ NHỎ SỬ DỤ...Duc Tran
 
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPTBài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPTMasterCode.vn
 
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Tú Cao
 
Slide Đồ Án Tốt Nghiệp Khoa CNTT Web Xem Phim Online Mới
Slide Đồ Án Tốt Nghiệp Khoa CNTT Web Xem Phim Online MớiSlide Đồ Án Tốt Nghiệp Khoa CNTT Web Xem Phim Online Mới
Slide Đồ Án Tốt Nghiệp Khoa CNTT Web Xem Phim Online MớiHiệu Nguyễn
 
UML mô hình khái niệm
UML mô hình khái niệmUML mô hình khái niệm
UML mô hình khái niệmNguyễn Phúc
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 4
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 4Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 4
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 4pisu412
 
Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm nataliej4
 
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTTSlide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTTHiệu Nguyễn
 
Đồ án chương trình quản lý website du lịch
Đồ án chương trình quản lý website du lịchĐồ án chương trình quản lý website du lịch
Đồ án chương trình quản lý website du lịchwem81315
 
Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178
Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178
Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178Đồ án access 01677525178
 
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngPhân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngNguyễn Danh Thanh
 

Mais procurados (20)

SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)
SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)
SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)
 
Phân tích và thiết kế HTTT
Phân tích và thiết kế HTTTPhân tích và thiết kế HTTT
Phân tích và thiết kế HTTT
 
Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql
 
Uml hà
Uml hàUml hà
Uml hà
 
Luận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOT
Luận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOTLuận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOT
Luận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOT
 
Báo cáo tốt nghiệp - XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ NHÀ HÀNG VỪA VÀ NHỎ SỬ DỤ...
Báo cáo tốt nghiệp - XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝNHÀ HÀNG VỪA VÀ NHỎ SỬ DỤ...Báo cáo tốt nghiệp - XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝNHÀ HÀNG VỪA VÀ NHỎ SỬ DỤ...
Báo cáo tốt nghiệp - XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ NHÀ HÀNG VỪA VÀ NHỎ SỬ DỤ...
 
Bài tập thực hành C#
Bài tập thực hành C#Bài tập thực hành C#
Bài tập thực hành C#
 
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPTBài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT
 
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
 
Slide Đồ Án Tốt Nghiệp Khoa CNTT Web Xem Phim Online Mới
Slide Đồ Án Tốt Nghiệp Khoa CNTT Web Xem Phim Online MớiSlide Đồ Án Tốt Nghiệp Khoa CNTT Web Xem Phim Online Mới
Slide Đồ Án Tốt Nghiệp Khoa CNTT Web Xem Phim Online Mới
 
UML mô hình khái niệm
UML mô hình khái niệmUML mô hình khái niệm
UML mô hình khái niệm
 
Đề tài: Hệ thống hỗ trợ điểm danh sinh viên trường ĐH Hải Phòng
Đề tài: Hệ thống hỗ trợ điểm danh sinh viên trường ĐH Hải PhòngĐề tài: Hệ thống hỗ trợ điểm danh sinh viên trường ĐH Hải Phòng
Đề tài: Hệ thống hỗ trợ điểm danh sinh viên trường ĐH Hải Phòng
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 4
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 4Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 4
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 4
 
Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm
 
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTTSlide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
 
Đồ án chương trình quản lý website du lịch
Đồ án chương trình quản lý website du lịchĐồ án chương trình quản lý website du lịch
Đồ án chương trình quản lý website du lịch
 
Luận văn: Quản lý điểm sinh viên theo học chế tín chỉ, HAY
Luận văn: Quản lý điểm sinh viên theo học chế tín chỉ, HAYLuận văn: Quản lý điểm sinh viên theo học chế tín chỉ, HAY
Luận văn: Quản lý điểm sinh viên theo học chế tín chỉ, HAY
 
Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178
Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178
Báo cáo Quản lý Sinh viên Làm Đồ án Access 01677525178
 
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngPhân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
 
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đĐề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
 

Destaque

Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTMasterCode.vn
 
Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL server
Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL serverBài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL server
Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL serverMasterCode.vn
 
Bài 7: Làm việc với truy vấn nâng cao - Giáo trình FPT
Bài 7: Làm việc với truy vấn nâng cao - Giáo trình FPTBài 7: Làm việc với truy vấn nâng cao - Giáo trình FPT
Bài 7: Làm việc với truy vấn nâng cao - Giáo trình FPTMasterCode.vn
 
Bài 2 : Các đối tượng trong CSDL - SQL server
Bài 2 : Các đối tượng trong CSDL - SQL serverBài 2 : Các đối tượng trong CSDL - SQL server
Bài 2 : Các đối tượng trong CSDL - SQL serverMasterCode.vn
 
Bài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPT
Bài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPTBài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPT
Bài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPTMasterCode.vn
 
Bài 4.1 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.1 - SQL (STRUCTURED QUERY  LANGUAGE) - SQL serverBài 4.1 - SQL (STRUCTURED QUERY  LANGUAGE) - SQL server
Bài 4.1 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverMasterCode.vn
 
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTBài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTMasterCode.vn
 
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPTBài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPTMasterCode.vn
 
Bài 4.5 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.5 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverBài 4.5 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.5 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverMasterCode.vn
 
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)MasterCode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnMasterCode.vn
 
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTBài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTMasterCode.vn
 
BÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPT
BÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPTBÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPT
BÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPTMasterCode.vn
 
Bài tập với câu lệnh select,insert, update, delete
Bài tập với câu lệnh select,insert, update, deleteBài tập với câu lệnh select,insert, update, delete
Bài tập với câu lệnh select,insert, update, deletevanphong20082002
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...MasterCode.vn
 
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...MasterCode.vn
 
Bài 6: Tạo hiệu ứng và validate Form - Giáo trình FPT
Bài 6: Tạo hiệu ứng và validate Form - Giáo trình FPTBài 6: Tạo hiệu ứng và validate Form - Giáo trình FPT
Bài 6: Tạo hiệu ứng và validate Form - Giáo trình FPTMasterCode.vn
 
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5MasterCode.vn
 
Bài 7 Xây dựng website - Giáo trình FPT
Bài 7 Xây dựng website - Giáo trình FPTBài 7 Xây dựng website - Giáo trình FPT
Bài 7 Xây dựng website - Giáo trình FPTMasterCode.vn
 

Destaque (20)

Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
 
Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL server
Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL serverBài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL server
Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL server
 
Bài 7: Làm việc với truy vấn nâng cao - Giáo trình FPT
Bài 7: Làm việc với truy vấn nâng cao - Giáo trình FPTBài 7: Làm việc với truy vấn nâng cao - Giáo trình FPT
Bài 7: Làm việc với truy vấn nâng cao - Giáo trình FPT
 
Bài 2 : Các đối tượng trong CSDL - SQL server
Bài 2 : Các đối tượng trong CSDL - SQL serverBài 2 : Các đối tượng trong CSDL - SQL server
Bài 2 : Các đối tượng trong CSDL - SQL server
 
Bài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPT
Bài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPTBài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPT
Bài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPT
 
Bài 4.1 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.1 - SQL (STRUCTURED QUERY  LANGUAGE) - SQL serverBài 4.1 - SQL (STRUCTURED QUERY  LANGUAGE) - SQL server
Bài 4.1 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
 
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTBài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
 
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPTBài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
 
Trigger in SQL
Trigger in SQLTrigger in SQL
Trigger in SQL
 
Bài 4.5 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.5 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverBài 4.5 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.5 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
 
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTBài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
 
BÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPT
BÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPTBÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPT
BÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPT
 
Bài tập với câu lệnh select,insert, update, delete
Bài tập với câu lệnh select,insert, update, deleteBài tập với câu lệnh select,insert, update, delete
Bài tập với câu lệnh select,insert, update, delete
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
 
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
 
Bài 6: Tạo hiệu ứng và validate Form - Giáo trình FPT
Bài 6: Tạo hiệu ứng và validate Form - Giáo trình FPTBài 6: Tạo hiệu ứng và validate Form - Giáo trình FPT
Bài 6: Tạo hiệu ứng và validate Form - Giáo trình FPT
 
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5
 
Bài 7 Xây dựng website - Giáo trình FPT
Bài 7 Xây dựng website - Giáo trình FPTBài 7 Xây dựng website - Giáo trình FPT
Bài 7 Xây dựng website - Giáo trình FPT
 

Semelhante a Bài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPT

TH2 - function.pdf
TH2 - function.pdfTH2 - function.pdf
TH2 - function.pdfLeThai44
 
Qtu.vn sql - chuong 7
Qtu.vn  sql - chuong 7Qtu.vn  sql - chuong 7
Qtu.vn sql - chuong 7Hoang le Minh
 
Qtu.vn sql - chuong 5
Qtu.vn  sql - chuong 5Qtu.vn  sql - chuong 5
Qtu.vn sql - chuong 5Hoang le Minh
 
Lap trinhcosodulieuvoi c-sharp_phan-3
Lap trinhcosodulieuvoi c-sharp_phan-3Lap trinhcosodulieuvoi c-sharp_phan-3
Lap trinhcosodulieuvoi c-sharp_phan-3Hiển Phùng
 
BÀI 7 - CHUYÊN ĐỀ KHÁC.pptx
BÀI 7 - CHUYÊN ĐỀ KHÁC.pptxBÀI 7 - CHUYÊN ĐỀ KHÁC.pptx
BÀI 7 - CHUYÊN ĐỀ KHÁC.pptxVinhNguyen547113
 
Cai tien trong lenh t sql cua sql server 2008 (2)
Cai tien trong lenh t sql cua sql server 2008 (2)Cai tien trong lenh t sql cua sql server 2008 (2)
Cai tien trong lenh t sql cua sql server 2008 (2)khanhtoankmz
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 3 VIEW
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 3 VIEWSlide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 3 VIEW
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 3 VIEWpisu412
 
Hàm và nạp chồng hàm
Hàm và nạp chồng hàmHàm và nạp chồng hàm
Hàm và nạp chồng hàmLAnhHuy4
 
HQCSDL_ThuTucaaaaaaaaaaaaaaaaaaaâdâdáwww
HQCSDL_ThuTucaaaaaaaaaaaaaaaaaaaâdâdáwwwHQCSDL_ThuTucaaaaaaaaaaaaaaaaaaaâdâdáwww
HQCSDL_ThuTucaaaaaaaaaaaaaaaaaaaâdâdáwwwDuyNguyn224958
 
Android Nâng cao-Bài 4: Content Provider
Android Nâng cao-Bài 4: Content ProviderAndroid Nâng cao-Bài 4: Content Provider
Android Nâng cao-Bài 4: Content ProviderPhuoc Nguyen
 
E learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHPE learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHPelearninglabvn
 
Lec3. Ham.pdf
Lec3. Ham.pdfLec3. Ham.pdf
Lec3. Ham.pdfKinHongnh
 
Hướng dẫn lập trình với SCSF phần I (smart client software factory)
Hướng dẫn lập trình với SCSF phần I (smart client software factory)Hướng dẫn lập trình với SCSF phần I (smart client software factory)
Hướng dẫn lập trình với SCSF phần I (smart client software factory)Minh Tri Lam
 

Semelhante a Bài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPT (20)

View sp trigger_udf
View sp trigger_udfView sp trigger_udf
View sp trigger_udf
 
TH2 - function.pdf
TH2 - function.pdfTH2 - function.pdf
TH2 - function.pdf
 
slide_Chuong 3_ (1).ppt
slide_Chuong 3_ (1).pptslide_Chuong 3_ (1).ppt
slide_Chuong 3_ (1).ppt
 
Yii
YiiYii
Yii
 
Qtu.vn sql - chuong 7
Qtu.vn  sql - chuong 7Qtu.vn  sql - chuong 7
Qtu.vn sql - chuong 7
 
Qtu.vn sql - chuong 5
Qtu.vn  sql - chuong 5Qtu.vn  sql - chuong 5
Qtu.vn sql - chuong 5
 
Lap trinhcosodulieuvoi c-sharp_phan-3
Lap trinhcosodulieuvoi c-sharp_phan-3Lap trinhcosodulieuvoi c-sharp_phan-3
Lap trinhcosodulieuvoi c-sharp_phan-3
 
BÀI 7 - CHUYÊN ĐỀ KHÁC.pptx
BÀI 7 - CHUYÊN ĐỀ KHÁC.pptxBÀI 7 - CHUYÊN ĐỀ KHÁC.pptx
BÀI 7 - CHUYÊN ĐỀ KHÁC.pptx
 
Cai tien trong lenh t sql cua sql server 2008 (2)
Cai tien trong lenh t sql cua sql server 2008 (2)Cai tien trong lenh t sql cua sql server 2008 (2)
Cai tien trong lenh t sql cua sql server 2008 (2)
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 3 VIEW
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 3 VIEWSlide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 3 VIEW
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 3 VIEW
 
Com201 slide 4
Com201   slide 4Com201   slide 4
Com201 slide 4
 
Umodel 2009
Umodel 2009Umodel 2009
Umodel 2009
 
Hàm và nạp chồng hàm
Hàm và nạp chồng hàmHàm và nạp chồng hàm
Hàm và nạp chồng hàm
 
HQCSDL_ThuTucaaaaaaaaaaaaaaaaaaaâdâdáwww
HQCSDL_ThuTucaaaaaaaaaaaaaaaaaaaâdâdáwwwHQCSDL_ThuTucaaaaaaaaaaaaaaaaaaaâdâdáwww
HQCSDL_ThuTucaaaaaaaaaaaaaaaaaaaâdâdáwww
 
Android Nâng cao-Bài 4: Content Provider
Android Nâng cao-Bài 4: Content ProviderAndroid Nâng cao-Bài 4: Content Provider
Android Nâng cao-Bài 4: Content Provider
 
Mvc Model
Mvc ModelMvc Model
Mvc Model
 
E learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHPE learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHP
 
Hàm can bản
Hàm can bảnHàm can bản
Hàm can bản
 
Lec3. Ham.pdf
Lec3. Ham.pdfLec3. Ham.pdf
Lec3. Ham.pdf
 
Hướng dẫn lập trình với SCSF phần I (smart client software factory)
Hướng dẫn lập trình với SCSF phần I (smart client software factory)Hướng dẫn lập trình với SCSF phần I (smart client software factory)
Hướng dẫn lập trình với SCSF phần I (smart client software factory)
 

Mais de MasterCode.vn

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnMasterCode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnMasterCode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnMasterCode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnMasterCode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnMasterCode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnMasterCode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnMasterCode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnMasterCode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnMasterCode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnMasterCode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnMasterCode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnMasterCode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...MasterCode.vn
 

Mais de MasterCode.vn (20)

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
 
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
 

Bài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPT

  • 1. Bài 5: HÀM NGƯỜI DÙNG ĐỊNH NGHĨA & VIEW
  • 2. Các nội dung đã học trong bài trước Stored Procedure Giao dịch Hệ thống bài cũ Hàm người dùng định nghĩa & View 2
  • 3. Mục tiêu bài học 1. Hàm người dùng định nghĩa Hàm người dùng định nghĩa & View 3 2. View
  • 4. Hàm người dùng định nghĩa & View 4
  • 5. Hàm người dùng tự định nghĩa 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, thực hiện một hành động như các tính toán phức tạp và trả về kết quả là một giá trị. Giá trị trả về có thể là Giá trị vô hướng Một bảng Hàm người dùng tự định nghĩa Hàm người dùng tự định nghĩa 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, thực hiện một hành động như các tính toán phức tạp và trả về kết quả là một giá trị. Giá trị trả về có thể là Giá trị vô hướng Một bảng Hàm người dùng định nghĩa & View 5
  • 6. Hàm người dùng tự định nghĩa 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 Hàm người dùng tự định nghĩa Hàm người dùng tự định nghĩa 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 Hàm người dùng định nghĩa & View 6
  • 7. Một ví dụ về hàm trả về giá trị vô hướng Một ví dụ về hàm người dùng định nghĩa CREATE FUNCTION fnVendorID (@VendorName varchar(50)) RETURNS int BEGIN RETURN (SELECT VendorID FROM Vendors WHERE VendorName = @VendorName) END Câu lệnh gọi hàm Hàm người dùng định nghĩa & View 7 SELECT InvoiceDate, InvoiceTotal FROM Invoices WHERE VendorID = dbo.fnVendorID('IBM') Câu lệnh gọi hàm
  • 8. Kiểu hàm Mô tả Hàm giá trị vô hướng Trả về giá trị đơn của mọi kiểu dữ liệu T-SQL. Hàm giá trị bảng đơn giản Trả về bảng, là kết quả của một câu lệnh SELECT đơn. Hàm giá trị bảng nhiều câu lệnh Trả về bảng, là kết quả của nhiều câu lệnh. Các loại hàm người dùng tự định nghĩa Hàm giá trị bảng nhiều câu lệnh Hàm người dùng định nghĩa & View 8
  • 9. Cú pháp tạo hàm giá trị vô hướng CREATE FUNCTION [<tên schema>.] <tên hàm> ([@<tên tham số> <kiểu dữ liệu> [= <Giá trị mặc định>]] [, …]) RETURNS <kiểu dữ liệu> [WITH [ENCRYPTION] [, SCHEMABINDING] [, <Mệnh đề EXECUTE AS>]] [AS] BEGIN [<Câu lệnh SQL>] RETURN <Biểu thức vô hướng> END Chú ý: Câu lệnh gọi hàm: Không thể truyền tham số theo tên Truyền đầy đủ các tham số theo vị trí. Kể cả tham số tùy chọn, nếu muốn sử dụng giá trị mặc định, phải đặt từ khóa DEFAULT tại đúng vị trí tham số tùy chọn đó. Tạo hàm giá trị vô hướng Cú pháp tạo hàm giá trị vô hướng CREATE FUNCTION [<tên schema>.] <tên hàm> ([@<tên tham số> <kiểu dữ liệu> [= <Giá trị mặc định>]] [, …]) RETURNS <kiểu dữ liệu> [WITH [ENCRYPTION] [, SCHEMABINDING] [, <Mệnh đề EXECUTE AS>]] [AS] BEGIN [<Câu lệnh SQL>] RETURN <Biểu thức vô hướng> END Chú ý: Câu lệnh gọi hàm: Không thể truyền tham số theo tên Truyền đầy đủ các tham số theo vị trí. Kể cả tham số tùy chọn, nếu muốn sử dụng giá trị mặc định, phải đặt từ khóa DEFAULT tại đúng vị trí tham số tùy chọn đó. Hàm người dùng định nghĩa & View 9
  • 10. Câu lệnh tạo hàm giá trị vô hướng trả về tổng số tiền đáo hạn của các hóa đơn Ví dụ về hàm giá trị vô hướng CREATE FUNCTION fnBalanceDue() RETURNS money BEGIN RETURN (SELECT SUM(InvoiceTotal - PaymentTotal - CreditTotal) FROM Invoices WHERE InvoiceTotal - PaymentTotal - CreditTotal > 0) END Hàm người dùng định nghĩa & View 10 CREATE FUNCTION fnBalanceDue() RETURNS money BEGIN RETURN (SELECT SUM(InvoiceTotal - PaymentTotal - CreditTotal) FROM Invoices WHERE InvoiceTotal - PaymentTotal - CreditTotal > 0) END Câu lệnh tạo hàm giá trị vô hướng trả về tổng số tiền đáo hạn của các hóa đơn PRINT 'Balance due: $' + CONVERT(varchar,dbo.fnBalanceDue(),1)
  • 11. Cú pháp câu lệnh tạo hàm giá trị bảng đơn giản CREATE FUNCTION [<tên schema>.] <tên hàm> ([@<tên tham số> <kiểu dữ liệu> [= <Giá trị mặc định>]] [, …]) RETURNS TABLE [WITH {ENCRYPTION|SCHEMABINDING|ENCRYPTION, SCHEMABINDING}] [AS] RETURN [(] <Câu lệnh SELECT> [)] Chú ý Hàm giá trị bảng đơn giản còn gọi là hàm giá trị bảng nội tuyến Hàm giá trị bảng đơn giản có thể được dùng trong câu lệnh truy vấn thay thế cho tên bảng hoặc tên view. Hàm giá trị bảng đơn giản Cú pháp câu lệnh tạo hàm giá trị bảng đơn giản CREATE FUNCTION [<tên schema>.] <tên hàm> ([@<tên tham số> <kiểu dữ liệu> [= <Giá trị mặc định>]] [, …]) RETURNS TABLE [WITH {ENCRYPTION|SCHEMABINDING|ENCRYPTION, SCHEMABINDING}] [AS] RETURN [(] <Câu lệnh SELECT> [)] Chú ý Hàm giá trị bảng đơn giản còn gọi là hàm giá trị bảng nội tuyến Hàm giá trị bảng đơn giản có thể được dùng trong câu lệnh truy vấn thay thế cho tên bảng hoặc tên view. Hàm người dùng định nghĩa & View 11
  • 12. Câu lệnh tạo hàm giá trị bảng đơn giản Demo Hàm giá trị bảng đơn giản CREATE FUNCTION fnTopVendorsDue (@CutOff money = 0) RETURNS table RETURN (SELECT VendorName, SUM(InvoiceTotal) AS TotalDue FROM Vendors JOIN Invoices ON Vendors.VendorID = Invoices.VendorID WHERE InvoiceTotal - CreditTotal - PaymentTotal > 0 GROUP BY VendorName HAVING SUM(InvoiceTotal) >= @CutOff) Hàm người dùng định nghĩa & View 12 CREATE FUNCTION fnTopVendorsDue (@CutOff money = 0) RETURNS table RETURN (SELECT VendorName, SUM(InvoiceTotal) AS TotalDue FROM Vendors JOIN Invoices ON Vendors.VendorID = Invoices.VendorID WHERE InvoiceTotal - CreditTotal - PaymentTotal > 0 GROUP BY VendorName HAVING SUM(InvoiceTotal) >= @CutOff) SELECT * FROM dbo.fnTopVendorsDue(5000) SELECT Vendors.VendorName, VendorCity, TotalDue FROM Vendors JOIN dbo.fnTopVendorsDue(DEFAULT) AS TopVendors ON Vendors.VendorName = TopVendors.VendorName Câu lệnh gọi hàm Câu lệnh SELECT sử dụng hàm trong phép kết nối
  • 13. Cú pháp: CREATE FUNCTION [<tên schema>] <tên hàm> ([@<tên tham số> <tên kiểu dữ liệu> [= <Giá trị mặc định>]] [,…]) RETURNS @<tên biến trả về> TABLE (<tên cột 1> <kiểu dữ liệu> [<Các thuộc tính cột>] [, <tên cột 1> <kiểu dữ liệu> [<Các thuộc tính cột>]]…) [WITH [ENCRYPTION] [, SCHEMABINDING] [, <mệnh đề EXECUTE AS>]] [AS] BEGIN <Các câu lệnh SQL> RETURN END Hàm giá trị bảng đa câu lệnh Cú pháp: CREATE FUNCTION [<tên schema>] <tên hàm> ([@<tên tham số> <tên kiểu dữ liệu> [= <Giá trị mặc định>]] [,…]) RETURNS @<tên biến trả về> TABLE (<tên cột 1> <kiểu dữ liệu> [<Các thuộc tính cột>] [, <tên cột 1> <kiểu dữ liệu> [<Các thuộc tính cột>]]…) [WITH [ENCRYPTION] [, SCHEMABINDING] [, <mệnh đề EXECUTE AS>]] [AS] BEGIN <Các câu lệnh SQL> RETURN END Hàm người dùng định nghĩa & View 13
  • 14. Ví dụ câu lệnh tạo hàm giá trị bảng đa câu lệnh Demo Hàm giá trị bảng đa câu lệnh CREATE FUNCTION fnCreditAdj (@HowMuch money) RETURNS @OutTable table (InvoiceID int, VendorID int, InvoiceNumber varchar(50), InvoiceDate smalldatetime, InvoiceTotal money, PaymentTotal money, CreditTotal money) BEGIN INSERT @OutTable SELECT InvoiceID, VendorID, InvoiceNumber, InvoiceDate, InvoiceTotal, PaymentTotal, CreditTotal FROM Invoices WHERE InvoiceTotal - CreditTotal - PaymentTotal > 0 WHILE (SELECT SUM(InvoiceTotal - CreditTotal - PaymentTotal) FROM @OutTable) >= @HowMuch BEGIN UPDATE @OutTable SET CreditTotal = CreditTotal + .01 WHERE InvoiceTotal - CreditTotal - PaymentTotal > 0 END RETURN END Hàm người dùng định nghĩa & View 14 CREATE FUNCTION fnCreditAdj (@HowMuch money) RETURNS @OutTable table (InvoiceID int, VendorID int, InvoiceNumber varchar(50), InvoiceDate smalldatetime, InvoiceTotal money, PaymentTotal money, CreditTotal money) BEGIN INSERT @OutTable SELECT InvoiceID, VendorID, InvoiceNumber, InvoiceDate, InvoiceTotal, PaymentTotal, CreditTotal FROM Invoices WHERE InvoiceTotal - CreditTotal - PaymentTotal > 0 WHILE (SELECT SUM(InvoiceTotal - CreditTotal - PaymentTotal) FROM @OutTable) >= @HowMuch BEGIN UPDATE @OutTable SET CreditTotal = CreditTotal + .01 WHERE InvoiceTotal - CreditTotal - PaymentTotal > 0 END RETURN END
  • 15. Câu lệnh SELECT sử dụng hàm Demo Hàm giá trị bảng đa câu lệnh SELECT VendorName, SUM(CreditTotal) AS CreditRequest FROM Vendors JOIN dbo.fnCreditAdj(50000) AS CreditTable ON Vendors.VendorID = CreditTable.VendorID GROUP BY VendorName Hàm người dùng định nghĩa & View 15
  • 16. Cú pháp của câu lệnh DROP FUNCTION DROP FUNCTION [<tên schema>.] <tên hàm> [, …] Cú pháp của câu lệnh ALTER FUNCTION cho hàm giá trị vô hướng Cú pháp tương tự câu lệnh tạo hàm. Thay từ khóa CREATE bởi từ khóa ALTER Xóa và chỉnh sửa hàm Cú pháp của câu lệnh DROP FUNCTION DROP FUNCTION [<tên schema>.] <tên hàm> [, …] Cú pháp của câu lệnh ALTER FUNCTION cho hàm giá trị vô hướng Cú pháp tương tự câu lệnh tạo hàm. Thay từ khóa CREATE bởi từ khóa ALTER Hàm người dùng định nghĩa & View 16
  • 17. Hàm người dùng định nghĩa & View 17
  • 18. View là một bảng ảo (virtual table) được tạo ra để cho phép người dùng truy cập đến các cột được chỉ định của một bảng. Thực chất VIEW là một câu lệnh truy vấn được biên dịch sẵn và lưu trữ như là một đối tượng trong CSDL. View có thể bao gồm dữ liệu từ nhiều cột của các bảng khác nhau. Các bảng này được gọi là bảng cơ sở Khung nhìn - View View là một bảng ảo (virtual table) được tạo ra để cho phép người dùng truy cập đến các cột được chỉ định của một bảng. Thực chất VIEW là một câu lệnh truy vấn được biên dịch sẵn và lưu trữ như là một đối tượng trong CSDL. View có thể bao gồm dữ liệu từ nhiều cột của các bảng khác nhau. Các bảng này được gọi là bảng cơ sở Hàm người dùng định nghĩa & View 18
  • 19. Một số lợi ích khi sử dụng View: Che dấu và bảo mật dữ liệu Không cho phép người dùng xem toàn bộ dữ liệu chứa trong các bảng Bằng cách chỉ định các cột trong View, các dữ liệu quan trọng chứa trong một số cột của bảng có thể được che dấu. Hiển thị dữ liệu một cách tùy biến Với mỗi người dùng khác nhau, có thể tạo các View khác nhau phù hợp với nhu cầu xem thông tin của từng người dùng. Lợi ích của View Một số lợi ích khi sử dụng View: Che dấu và bảo mật dữ liệu Không cho phép người dùng xem toàn bộ dữ liệu chứa trong các bảng Bằng cách chỉ định các cột trong View, các dữ liệu quan trọng chứa trong một số cột của bảng có thể được che dấu. Hiển thị dữ liệu một cách tùy biến Với mỗi người dùng khác nhau, có thể tạo các View khác nhau phù hợp với nhu cầu xem thông tin của từng người dùng. Hàm người dùng định nghĩa & View 19
  • 20. Một số lợi ích khi sử dụng View: Lưu trữ câu lệnh truy vấn phức tạp và thường xuyên sử dụng. Thực thi nhanh hơn các câu lệnh truy vấn do đã được biên dịch sẵn. Đảm bảo tính toàn vẹn dữ liệu Khi sử dụng View để cập nhật dữ liệu trong các bảng cơ sở, SQL Server sẽ tự động kiểm tra các ràng buộc toàn vẹn trên các bảng. Lợi ích của View Một số lợi ích khi sử dụng View: Lưu trữ câu lệnh truy vấn phức tạp và thường xuyên sử dụng. Thực thi nhanh hơn các câu lệnh truy vấn do đã được biên dịch sẵn. Đảm bảo tính toàn vẹn dữ liệu Khi sử dụng View để cập nhật dữ liệu trong các bảng cơ sở, SQL Server sẽ tự động kiểm tra các ràng buộc toàn vẹn trên các bảng. Hàm người dùng định nghĩa & View 20
  • 21. Cú pháp của câu lệnh CREATE VIEW CREATE VIEW <tên view> [(<tên cột 1> [, <tên cột 2>]...)] [WITH {ENCRYPTION|SCHEMABINDING|ENCRYPTION,SCHEMABINDING}] AS <Câu lệnh SELECT> [WITH CHECK OPTION] Tạo View Cú pháp của câu lệnh CREATE VIEW CREATE VIEW <tên view> [(<tên cột 1> [, <tên cột 2>]...)] [WITH {ENCRYPTION|SCHEMABINDING|ENCRYPTION,SCHEMABINDING}] AS <Câu lệnh SELECT> [WITH CHECK OPTION] Hàm người dùng định nghĩa & View 21
  • 22. Chú ý: 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ở. Tạo View Chú ý: 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ở. Hàm người dùng định nghĩa & View 22
  • 23. Ví dụ 1 Ví dụ 2: Câu lệnh CREATE VIEW sử dụng mệnh đề TOP và ORDER BY Ví dụ về View CREATE VIEW VendorInvoices AS SELECT VendorName, InvoiceNumber, InvoiceDate, InvoiceTotal FROM Vendors JOIN Invoices ON Vendors.VendorID = Invoices.VendorID Ví dụ 1 Ví dụ 2: Câu lệnh CREATE VIEW sử dụng mệnh đề TOP và ORDER BY Hàm người dùng định nghĩa & View CREATE VIEW TopVendors AS SELECT TOP 5 PERCENT Invoices.VendorID, InvoiceTotal FROM Invoices JOIN Vendors ON Vendors.VendorId = Invoices.InvoiceId ORDER BY InvoiceTotal DESC 23
  • 24. Ví dụ 3: Câu lệnh đặt tên toàn bộ cột view trong mệnh đề CREATE VIEW Ví dụ 4: Câu lệnh đặt tên chỉ mình cột được tính toán trong mệnh đề SELECT Ví dụ về View CREATE VIEW OutstandingInvoices (InvoiceNumber, InvoiceDate, InvoiceTotal, BalanceDue) AS SELECT InvoiceNumber, InvoiceDate, InvoiceTotal, InvoiceTotal - PaymentTotal - CreditTotal FROM Invoices WHERE InvoiceTotal - PaymentTotal - CreditTotal > 0 Ví dụ 3: Câu lệnh đặt tên toàn bộ cột view trong mệnh đề CREATE VIEW Ví dụ 4: Câu lệnh đặt tên chỉ mình cột được tính toán trong mệnh đề SELECT Hàm người dùng định nghĩa & View CREATE VIEW OutstandingInvoices (InvoiceNumber, InvoiceDate, InvoiceTotal, BalanceDue) AS SELECT InvoiceNumber, InvoiceDate, InvoiceTotal, InvoiceTotal - PaymentTotal - CreditTotal FROM Invoices WHERE InvoiceTotal - PaymentTotal - CreditTotal > 0 CREATE VIEW OutstandingInvoices AS SELECT InvoiceNumber, InvoiceDate, InvoiceTotal, InvoiceTotal - PaymentTotal – CreditTotal AS BalanceDue FROM Invoices WHERE InvoiceTotal - PaymentTotal - CreditTotal > 0 24
  • 25. Hai 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 Hai loại View Hai 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 Hàm người dùng định nghĩa & View 25
  • 26. Các yêu cầu để tạo view có thể cập nhật Câu lệnh SELECT không được chứa Mệnh đề DISTINCT hoặc TOP. Một hàm kết tập (Aggregate function) Một giá trị được tính toán. Mệnh đề GROUP BY và HAVING. Toán tử UNION. Nếu câu lệnh tạo View vi phạm một trong số điều kiện trên. VIEW được tạo ra là VIEW chỉ đọc. View có thể cập nhật Các yêu cầu để tạo view có thể cập nhật Câu lệnh SELECT không được chứa Mệnh đề DISTINCT hoặc TOP. Một hàm kết tập (Aggregate function) Một giá trị được tính toán. Mệnh đề GROUP BY và HAVING. Toán tử UNION. Nếu câu lệnh tạo View vi phạm một trong số điều kiện trên. VIEW được tạo ra là VIEW chỉ đọc. Hàm người dùng định nghĩa & View 26
  • 27. Câu lệnh CREATE VIEW tạo view có thể cập nhật Câu lệnh UPDATE cập nhật view Câu lệnh CREATE VIEW tạo view chỉ đọc Ví dụ View có thể cập nhật CREATE VIEW InvoiceCredit AS SELECT InvoiceNumber, InvoiceDate, InvoiceTotal, PaymentTotal, CreditTotal FROM Invoices WHERE InvoiceTotal - PaymentTotal - CreditTotal > 0 UPDATE InvoiceCredit SET CreditTotal = CreditTotal + 200 WHERE InvoiceTotal – PaymentTotal – CreditTotal >= 200 Câu lệnh CREATE VIEW tạo view có thể cập nhật Câu lệnh UPDATE cập nhật view Câu lệnh CREATE VIEW tạo view chỉ đọc Hàm người dùng định nghĩa & View UPDATE InvoiceCredit SET CreditTotal = CreditTotal + 200 WHERE InvoiceTotal – PaymentTotal – CreditTotal >= 200 CREATE VIEW OutstandingInvoices AS SELECT InvoiceNumber, InvoiceDate, InvoiceTotal, InvoiceTotal - PaymentTotal - CreditTotal AS BalanceDue FROM Invoices WHERE InvoiceTotal - PaymentTotal - CreditTotal > 0 27
  • 28. Cú pháp câu lệnh xóa View DROP VIEW <tên View> Cú pháp câu lệnh chỉnh sửa View ALTER VIEW <tên View> [(<tên cột 1> [,<tên cột 2>]...)] [WITH {ENCRYPTION|SCHEMABINDING|ENCRYPTION,SCHEMABINDING}] AS <câu lệnh SELECT> [WITH CHECK OPTION] Xóa và chỉnh sửa View Cú pháp câu lệnh xóa View DROP VIEW <tên View> Cú pháp câu lệnh chỉnh sửa View ALTER VIEW <tên View> [(<tên cột 1> [,<tên cột 2>]...)] [WITH {ENCRYPTION|SCHEMABINDING|ENCRYPTION,SCHEMABINDING}] AS <câu lệnh SELECT> [WITH CHECK OPTION] Hàm người dùng định nghĩa & View 28
  • 29. Câu lệnh tạo view Câu lệnh chỉnh sửa view Câu lệnh xóa view Ví dụ Xóa và chỉnh sửa View CREATE VIEW Vendors_SW AS SELECT * FROM Vendors WHERE VendorState IN ('CA','AZ','NV','NM') ALTER VIEW Vendors_SW AS SELECT * FROM Vendors WHERE VendorState IN ('CA','AZ','NV','NM','UT','CO') Câu lệnh tạo view Câu lệnh chỉnh sửa view Câu lệnh xóa view Hàm người dùng định nghĩa & View ALTER VIEW Vendors_SW AS SELECT * FROM Vendors WHERE VendorState IN ('CA','AZ','NV','NM','UT','CO') DROP VIEW Vendors_SW 29
  • 30. Management Studio cung cấp công cụ View Designer để làm việc với View Cách sử dụng công cụ này tương tự như Query Designer Hướng dẫn sử dụng View Designer Tạo View Hàm người dùng định nghĩa & View 30
  • 31. Hướng dẫn sử dụng View Designer Xóa và chỉnh sửa View Chỉnh sửa View Hàm người dùng định nghĩa & View Chỉnh sửa View Xóa View 31
  • 32. Hàm người dùng định nghĩa 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. Một hàm luôn phải trả về một giá trị Không có tham số đầu ra Ba loại hàm Hàm giá trị vô hướng Hàm giá trị bảng Hàm giá trị bảng đa câu lệnh Tổng kết Hàm người dùng định nghĩa 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. Một hàm luôn phải trả về một giá trị Không có tham số đầu ra Ba loại hàm Hàm giá trị vô hướng Hàm giá trị bảng Hàm giá trị bảng đa câu lệnh Hàm người dùng định nghĩa & View 32
  • 33. View: là một câu lệnh truy vấn được biên dịch sẵn và lưu trữ như là một đối tượng trong CSDL Hai loại View View chỉ đọc View có thể cập nhật SQL server cung cấp các phương pháp làm việc với View Tạo, sửa, xóa View sử dụng câu lệnh SQL Tạo, sửa xóa sử dụng View Designer Tổng kết View: là một câu lệnh truy vấn được biên dịch sẵn và lưu trữ như là một đối tượng trong CSDL Hai loại View View chỉ đọc View có thể cập nhật SQL server cung cấp các phương pháp làm việc với View Tạo, sửa, xóa View sử dụng câu lệnh SQL Tạo, sửa xóa sử dụng View Designer Hàm người dùng định nghĩa & View 33