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

Cara membuat kolom lain yang bergantung pada batasan default di sql server

Anda ingin kolom yang dihitung. Misalnya:

CREATE TABLE tab1
(
 ID INT IDENTITY(1,1)
,[Type] VARCHAR(10)
,IsValued AS CASE [Type] WHEN 'S' THEN 1
                         WHEN 'R' THEN 0
             END
)

Anda dapat menambahkan ke tabel yang ada menggunakan sintaks berikut:

ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
                                                 WHEN 'R' THEN 0
                                     END

Anda dapat membuat kolom bertahan dengan menambahkan kata kunci PERSISTED setelah pembuatan kolom. Bertahan kolom berarti bahwa bidang tersebut disimpan pada disk. Saat Anda menyisipkan atau memperbarui catatan, server SQL akan menghitung nilainya pada saat itu. Jika tidak, SQL Server harus menyelesaikannya setiap kali Anda mengakses baris. Penjelasan yang baik dapat ditemukan di SQL Server 2005 Computed Kolom Bertahan

ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
                                                 WHEN 'R' THEN 0
                                     END PERSISTED



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendapatkan ukuran bidang varchar[n] dalam satu pernyataan SQL?

  2. Cari beberapa nilai dalam kolom xml di SQL

  3. Apakah ada masalah Performa saat menggunakan ISNULL() di SQL Server?

  4. Memperbarui Penyedia Data Crystal Reports

  5. Apakah ada cara untuk melakukan kueri lain dalam kueri penyisipan?