Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Chèn dữ liệu thông qua một hàm có giá trị bảng trong SQL Server

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo mặt nạ dữ liệu động trong SQL Server cho người mới bắt đầu

  2. Kết nối SAP IQ với SQL Server

  3. Hợp nhất hai phân vùng thành một trong SQL Server (T-SQL)

  4. Truy vấn này làm gì để tạo danh sách SQL Server được phân tách bằng dấu phẩy?

  5. Nhóm máy chủ SQL theo số ngày tháng mỗi giờ?