Işlevler türleri
SQL Server 2008 Kullanıcı tanımlı işlevler hem de yerleşik sistem işlevleri destekler.
skaler işlevleri
Kullanıcı tanımlı skaler fonksiyonları DÖNDÜRÜR yan tümcesinde tanımlı türü tek bir veri değeri döndürür.Basit skaler fonksiyonları hiçbir işlevi olan gövde; skaler değer sonuçlar bir tek bir işlev deyim (genellikle bir deyim).Multi-deyim skaler fonksiyonları, işlev gövdesi bir BEGIN... END bloğunda tanımlanır ve bir dizi içerir. Transact-SQL tek bir değer döndüren deyim. Dönüş türü dışında herhangi bir veri türü olabilir. text, ntext, image, cursor, spatial, hierarchyID, ve timestamp.
Aşağıdaki örnek, tek tek kullanır. ufnGetInventoryStock işlev olan ürünleri için geçerli stok miktarının dönmek için bir ProductModelID 75 arasında 80.
Aşağıdaki örnek, bir multi-deyim skaler oluşturur işlev.Işlev bir girdi değeri alır bir ProductID, stoktaki tek dönüş değeri olarak belirtilen ürün toplam miktarını döndürür.
Tablo biçiminde işlevler
Kullanıcı tanımlı tablo değerli işlevler dönmek bir table Veri Türü. Bir satır içi için tablo değerli işlev, hiçbir işlev gövdesi yok; Tablo tek bir SELECT deyiminin sonuç kümesidir.
Aşağıdaki örnek, tablo değerli bir satır içi oluşturur işlev.Işlev bir girdi parametresi, bir Müşteri (depolama) KIMLIĞI alır ve sütunlar döndürür. ProductID, Nameve yıl, tarih satış olarak, toplamak YTD Total her ürün için deposuna satılan.
Aşağıdaki örnek çağırır işlev ve müşteri KIMLIĞI 602 belirtir.
Bir multi-deyim tablo değerli işlev bir BEGIN... END blok işlev gövdesi'ni tanımlar ve bir dizi içerir. Transact-SQL oluşturma ve tablo sonuçlar içinde satır ekleme deyimleri.
Aşağıdaki örnek, bir tablo değerli işlev oluşturur.Işlev tek girdi parametresini alır. EmployeeID ve bir ya da belirtilen çalışana KIMLIĞI 109 doğrudan veya dolaylı olarak rapor tüm çalışanların bir listesini döndürür. Çalışan KIMLIĞI 109 sonra örnekte giriş parametresi olarak kullanılır ve sonuç tablosunda çalışanların bir listesini verir.
Yerleşik işlevler
Tarafından sağlanan yerleşik işlevler SQL Server çeşitli işlemler gerçekleştirmenize yardımcı olmak için . Bunlar değiştirilemez.yerleşik işlevler kullanabilirsiniz. Transact-SQL ifadeler için:
Erişim bilgileri SQL Server sistem tabloları doğrudan erişim olmadan sistem tabloları Daha fazla bilgi için bkz:Sistem işlevleri kullanma.
SUM (GETDATE) veya IDENTITY gibi genel görevleri gerçekleştirin.Daha fazla bilgi için bkz:Işlevler (Transact-SQL).
yerleşik işlevler ya da skaler geri dönmek veya table veri türleri. Örneğin, @@ ERROR 0 döndürür son Transact-SQL deyim başarıyla yürütüldü. Deyim bir hata oluşturursa, @@ ERROR hata verir.Ve SUM () işlevparameter) parametresi için değerler toplamını verir.
Değişiklik Geçmişi
Güncelleştirilmiş içerik |
---|
Satır içi skaler işlevleri hatalı içerik kaldırıldı. |