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

Fungsi yang ditentukan pengguna deterministik Sql Server

Anda hanya perlu membuatnya with schemabinding .

SQL Server kemudian akan memverifikasi apakah memenuhi kriteria untuk dianggap sebagai deterministik atau tidak (yang dilakukannya karena tidak mengakses tabel eksternal atau menggunakan fungsi non deterministik seperti getdate() ).

Anda dapat memverifikasi bahwa itu berfungsi dengan

SELECT OBJECTPROPERTY(OBJECT_ID('[dbo].[FullNameLastFirst]'), 'IsDeterministic')

Menambahkan opsi pengikatan skema ke kode asli Anda berfungsi dengan baik tetapi versi yang sedikit lebih sederhana.

CREATE FUNCTION [dbo].[FullNameLastFirst] (@IsPerson  BIT,
                                           @LastName  NVARCHAR(100),
                                           @FirstName NVARCHAR(100))
RETURNS NVARCHAR(201)
WITH SCHEMABINDING
AS
  BEGIN
      RETURN CASE
               WHEN @IsPerson = 0
                     OR @FirstName = '' THEN @LastName
               ELSE @LastName + ' ' + @FirstName
             END
  END


  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 sys.dm_exec_describe_first_result_set Bekerja di SQL Server

  2. Konversi 'datetime2' menjadi 'smalldatetime' di SQL Server (Contoh T-SQL)

  3. 3 Cara Mengonversi Integer ke Desimal di SQL Server

  4. Kueri Select SUM saya mengembalikan nol. Itu harus mengembalikan 0

  5. T-SQL:masalah dengan string concat