subject:Multi-statement Table-value Functions
syntax:CREATE FUNCTION [owner_name.]function_name
( @parameter [ AS ] data_type [ =default ] )
RETURNS @return_value TABLE
< table_type_definition >
[ WITH { ENCRYPTION | SCHEMABINDING } ]
[ AS ]
BEGIN
<statement>
RETURN
END
content:เป็นการสร้างตารางเสมือนขึ้นมา ที่จะกำหนดตรง < table_type_definition >
เพื่อที่จะถูกดำเนินการบางอย่าง แล้วคืนค่า table นั้นกลับไป
example:CREATE FUNCTION udf_ordersVat
( @vat int )
RETURNS @ordersVat TABLE
(
id int,
item_name varchar(100),
price_vat money
)
AS
BEGIN
INSERT INTO @ordersVat
SELECT a.id, b.name, ( ( b.price * ( 100 + @vat ) ) / 100 ) AS price_vat
FROM orders a INNER JOIN product b ON a.item_id = b.id
RETURN
END
SELECT * FROM udf_ordersVat ( 7 )