Trong SQL Server, có thể chèn dữ liệu thông qua một hàm giá trị bảng (TVF).
Bằng cách này, tôi có nghĩa là chèn các hàng trong các bảng bên dưới mà hàm truy vấn.
Để chèn một hàng mới qua TVF, chỉ cần sử dụng cùng một T-SQL INSERT
cú pháp mà bạn sẽ sử dụng nếu chèn dữ liệu trực tiếp vào bảng.
Ví dụ
Dưới đây là một ví dụ nhanh để chứng minh.
Chức năng
Đây là một chức năng nhanh chọn dữ liệu cơ bản từ một bảng.
CREATE FUNCTION dbo.udf_Cats_ITVF() RETURNS TABLE AS RETURN ( SELECT CatId, CatName, Phone FROM dbo.Cats ); GO
Hàm này chọn tất cả các hàng từ một bảng.
Tôi có thể sử dụng chức năng này để chèn một hàng mới vào bảng đó.
Chọn Dữ liệu bằng Hàm
Đây là cách chúng tôi thường gọi hàm với SELECT
tuyên bố. Điều này cho phép chúng tôi xem dữ liệu hiện tại trong bảng bên dưới.
SELECT * FROM udf_Cats_ITVF();
Kết quả:
+---------+-----------+------------+ | CatId | CatName | Phone | |---------+-----------+------------| | 1 | Garfield | 9871237654 | | 2 | Felix | 8871237651 | | 3 | Tom | 7871237652 | | 4 | Fetch | 6871237653 | +---------+-----------+------------+
Vì vậy, có bốn hàng.
Chèn một hàng qua hàm
Bây giờ, hãy sử dụng TVF để thêm một hàng mới.
INSERT INTO udf_Cats_ITVF() VALUES ('Scratchy', '1111111111'); SELECT * FROM udf_Cats_ITVF();
Kết quả:
+---------+-----------+------------+ | CatId | CatName | Phone | |---------+-----------+------------| | 1 | Garfield | 9871237654 | | 2 | Felix | 8871237651 | | 3 | Tom | 7871237652 | | 4 | Fetch | 6871237653 | | 5 | Scratchy | 1111111111 | +---------+-----------+------------+
Vì vậy, tôi đã chèn thành công một con mèo mới bằng cách sử dụng hàm giá trị bảng nội tuyến.