Di SQL Server, dimungkinkan untuk menyisipkan data melalui fungsi bernilai tabel (TVF).
Dengan ini, maksud saya menyisipkan baris dalam tabel yang mendasari yang kueri fungsi.
Untuk menyisipkan baris baru melalui TVF, cukup gunakan T-SQL INSERT
. yang sama sintaks yang akan Anda gunakan jika memasukkan data langsung ke dalam tabel.
Contoh
Berikut contoh cepat untuk ditunjukkan.
Fungsi
Berikut adalah fungsi cepat yang memilih data dasar dari sebuah tabel.
CREATE FUNCTION dbo.udf_Cats_ITVF() RETURNS TABLE AS RETURN ( SELECT CatId, CatName, Phone FROM dbo.Cats ); GO
Fungsi ini memilih semua baris dari sebuah tabel.
Saya bisa menggunakan fungsi ini untuk menyisipkan baris baru ke dalam tabel itu.
Pilih Data dengan Fungsi
Inilah cara kami biasanya memanggil fungsi dengan SELECT
penyataan. Ini memungkinkan kami untuk melihat data saat ini di tabel yang mendasarinya.
SELECT * FROM udf_Cats_ITVF();
Hasil:
+---------+-----------+------------+ | CatId | CatName | Phone | |---------+-----------+------------| | 1 | Garfield | 9871237654 | | 2 | Felix | 8871237651 | | 3 | Tom | 7871237652 | | 4 | Fetch | 6871237653 | +---------+-----------+------------+
Jadi ada empat baris.
Menyisipkan Baris melalui Fungsi
Sekarang mari kita gunakan TVF untuk menambahkan baris baru.
INSERT INTO udf_Cats_ITVF() VALUES ('Scratchy', '1111111111'); SELECT * FROM udf_Cats_ITVF();
Hasil:
+---------+-----------+------------+ | CatId | CatName | Phone | |---------+-----------+------------| | 1 | Garfield | 9871237654 | | 2 | Felix | 8871237651 | | 3 | Tom | 7871237652 | | 4 | Fetch | 6871237653 | | 5 | Scratchy | 1111111111 | +---------+-----------+------------+
Jadi saya berhasil menyisipkan kucing baru menggunakan fungsi bernilai tabel sebaris.