Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Hapus Data melalui Fungsi Bernilai Tabel di SQL Server

Di SQL Server, dimungkinkan untuk menggunakan fungsi bernilai tabel (TVF) untuk menghapus data dari tabel yang mendasari kueri TVF.

Untuk menghapus data tabel melalui TVF, cukup gunakan DELETE T-SQL yang sama sintaks yang akan Anda gunakan jika menghapus baris dari tabel secara langsung.

Contoh

Berikut contoh cepat untuk ditunjukkan.

Fungsi

Berikut adalah fungsi bernilai tabel sebaris 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 juga dapat menggunakan fungsi ini untuk menghapus baris dari 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 |
| 5       | Scratchy  | 1111111111 |
+---------+-----------+------------+

Jadi ada lima baris.

Ayo hapus Scratchy.

Menghapus Baris melalui Fungsi

Sekarang mari kita gunakan TVF untuk menghapus satu baris.

DELETE FROM udf_Cats_ITVF()
WHERE CatId = 5;   

SELECT * FROM udf_Cats_ITVF();

Hasil:

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

Jadi saya berhasil menghapus Scratchy menggunakan fungsi nilai tabel sebaris.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menambahkan Filegroup ke Database SQL Server (T-SQL)

  2. Mendapatkan izin eksekusi ke xp_cmdshell

  3. Cara Menampilkan Kolasi Database di SQL Server (T-SQL)

  4. Bagaimana TRY_CAST() Bekerja di SQL Server

  5. LINQ ke SQL Ambil tanpa Loncat Penyebab Beberapa Pernyataan SQL