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

Cara membuat Batasan Kunci Asing Dengan ON UPDATE CASCADE di SQL Server - Tutorial SQL Server / TSQL Bagian 79

Skenario:

Pada posting sebelumnya, kita mengetahui bahwa jika kita memiliki Batasan kunci Asing dengan pengaturan default dan kami mencoba memperbarui nilai di kolom di Tabel Referensi yang digunakan sebagai Kolom Referensi di Batasan Kunci Asing, kami mendapatkan kesalahan. Kami membahas beberapa cara untuk menangani situasi ini, silakan periksa tautan ini.
Foreign Key Constraint memang menyediakan opsi untuk mengatur tindakan Cascading, kami dapat membuat Batasan Kunci Asing dengan Pembaruan Cascading.
Jika menggunakan pengaturan Update Cascading, saat kita mengupdate nilai pada Referenced Table , itu juga akan mengupdate nilai pada kolom parent table (Foreign Key Table).
Mari kita uji skenario ini. Buat dua tabel dbo.Customer dan dbo.Order dengan Hubungan Kunci Asing dengan skrip yang diberikan

USE YourDatabaseName
GO

CREATE TABLE dbo.Customer (
    Customerid INT PRIMARY KEY
    ,FName VARCHAR(100)
    ,LName VARCHAR(100)
    ,SSN VARCHAR(10)
    )


    CREATE TABLE dbo.Orders (
    OrderId INT Identity(1, 1)
    ,OrderitemName VARCHAR(50)
    ,OrderItemAmt INT
    ,Customer_id INT FOREIGN KEY REFERENCES
     Customer(CustomerId) ON UPDATE CASCADE
    )


    --insert sample data
     insert into dbo.Customer 
    (CustomerId,FName, LName,SSN)
     values
    (1,'Aamir','Shahzad','000-000-00')

    insert into dbo.Orders
    (OrderItemName,OrderItemAmt,Customer_Id)
    values ('TV',1,1)
 
 
 Mari kita periksa data dalam tabel dengan menggunakan kueri pemilihan
Cara membuat Batasan Kunci Asing dengan Kaskade Pembaruan di SQL Server


Mari kita jalankan pernyataan pembaruan kami di CustomerId di tabel dbo.Customer dan lihat apakah itu juga memperbarui nilai kolom di dbo.Orders untuk Customer_id.
    update dbo.Customer
    set Customerid=100
 
 Mari kita periksa kembali data di tabel kita 
Cara mengaktifkan Update Cascading dengan Batasan Kunci Asing di SQL Server

Seperti yang kita lihat bahwa nilai juga diperbarui di kolom dbo.Orders.Customer_id.


Video Demo:Cara membuat Batasan Kunci Asing Dengan ON UPDATE CASCADE di SQL Server

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pad string dengan nol di depan sehingga panjangnya 3 karakter di SQL Server 2008

  2. Apa itu prosedur tersimpan?

  3. LEN() vs DATALENGTH() di SQL Server

  4. Cara Menginstal SQL Server di Linux

  5. SQL Server:Contoh data PIVOTing String