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

Bagaimana Mengenalinya jika Kolom yang Dihitung adalah Deterministik di SQL Server

Saat Anda membuat kolom yang dihitung di SQL Server, ekspresi yang Anda gunakan untuk kolom akan menjadi deterministik atau nondeterministik. Hal ini dapat memiliki implikasi, seperti apakah Anda dapat menggunakannya dalam indeks atau menandainya sebagai "bertahan".

Kolom deterministik adalah kolom yang akan mengembalikan nilai yang sama untuk sekumpulan nilai input tertentu dan diberi status database yang sama. Kolom nondeterministik dapat mengembalikan nilai yang berbeda meskipun diberi input yang sama meskipun status basis data tetap sama. Misalnya, fungsi yang mengembalikan tanggal saat ini bersifat nondeterministik, karena akan mengembalikan nilai yang berbeda setiap hari.

Anda dapat menggunakan COLUMNPROPERTY() fungsi dengan IsDeterministic argumen untuk mengetahui apakah kolom yang dihitung deterministik atau tidak.

Contoh

Berikut ini contoh untuk didemonstrasikan.

SELECT 
  COLUMNPROPERTY(
    OBJECT_ID('dbo.Products'), 
    'TotalValue', 
    'IsDeterministic') 
    AS IsDeterministic;

Hasil:

+-------------------+
| IsDeterministic   |
|-------------------|
| 1                 |
+-------------------+

Dalam hal ini TotalValue kolom dari dbo.Products tabel adalah deterministik. Jika tidak, hasilnya adalah 0 .

IsDeterministic properti hanya berlaku untuk kolom yang dihitung dan kolom tampilan.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa saya mendapatkan kesalahan tipe data Xml tidak didukung dalam kueri terdistribusi saat menanyakan server tertaut untuk data non-xml?

  2. SQL Server Versi Terbaru, Edisi &Riwayat SQL Server

  3. Bagaimana menjalankan prosedur tersimpan di sql server setiap jam?

  4. Mengembalikan Daftar Email yang Dikirim dari SQL Server Database Mail (T-SQL)

  5. Kelola Konkurensi Transaksi Menggunakan Kunci di SQL Server