Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wstaw dane za pomocą funkcji o wartościach przechowywanych w tabeli w SQL Server

W SQL Server możliwe jest wstawianie danych za pomocą funkcji z wartościami tabelarycznymi (TVF).

Rozumiem przez to wstawianie wierszy w tabelach bazowych, które funkcja wykonuje zapytania.

Aby wstawić nowy wiersz przez TVF, po prostu użyj tego samego T-SQL INSERT składnia, której użyjesz, wstawiając dane bezpośrednio do tabeli.

Przykład

Oto krótki przykład do zademonstrowania.

Funkcja

Oto szybka funkcja, która wybiera podstawowe dane z tabeli.

CREATE FUNCTION dbo.udf_Cats_ITVF()
    RETURNS TABLE
AS
RETURN (
    SELECT 
        CatId,
        CatName,
        Phone
    FROM dbo.Cats
    );
GO

Ta funkcja wybiera wszystkie wiersze z tabeli.

Mógłbym użyć tej funkcji, aby wstawić nowy wiersz do tej tabeli.

Wybierz dane za pomocą funkcji

Oto jak normalnie wywołalibyśmy funkcję za pomocą SELECT oświadczenie. Dzięki temu możemy zobaczyć aktualne dane w tabeli bazowej.

SELECT * FROM udf_Cats_ITVF();

Wynik:

+---------+-----------+------------+
| CatId   | CatName   | Phone      |
|---------+-----------+------------|
| 1       | Garfield  | 9871237654 |
| 2       | Felix     | 8871237651 |
| 3       | Tom       | 7871237652 |
| 4       | Fetch     | 6871237653 |
+---------+-----------+------------+

Więc są cztery rzędy.

Wstaw wiersz za pomocą funkcji

Teraz użyjmy TVF, aby dodać nowy wiersz.

INSERT INTO udf_Cats_ITVF() 
VALUES ('Scratchy', '1111111111');

SELECT * FROM udf_Cats_ITVF();

Wynik:

+---------+-----------+------------+
| CatId   | CatName   | Phone      |
|---------+-----------+------------|
| 1       | Garfield  | 9871237654 |
| 2       | Felix     | 8871237651 |
| 3       | Tom       | 7871237652 |
| 4       | Fetch     | 6871237653 |
| 5       | Scratchy  | 1111111111 |
+---------+-----------+------------+

Więc udało mi się wstawić nowego kota za pomocą wbudowanej funkcji z wartościami tabelarycznymi.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać wartości maksymalne i minimalne z tabeli za pomocą funkcji agregującej — samouczek SQL Server / TSQL, część 129

  2. Jak używać GROUP BY do łączenia ciągów w SQL Server?

  3. Zwróć parametry procedury składowanej lub funkcji zdefiniowanej przez użytkownika w programie SQL Server (przykłady T-SQL)

  4. Pierwsze kroki z GearHost do tworzenia baz danych SQL Server

  5. Co to jest we/wy STATYSTYKI w programie SQL Server?