Hitung Fungsi Buatan Pengguna SQL Server berdasarkan Jenis

Saya dapat menghitung total fungsi yang dibuat pengguna di SQL Server menggunakan

SELECT COUNT(*)
FROM information_schema.routines
WHERE routine_type = 'FUNCTION'

Tapi ini mengembalikan semua fungsi apakah itu fungsi bernilai skalar, fungsi inline atau fungsi bernilai tabel

Apakah ada cara untuk mendapatkan hitungan khusus untuk jenis fungsi? Misalnya. menghitung fungsi inline saja?


person Tyro    schedule 02.07.2020    source sumber
comment
and DATA_TYPE = 'TABLE' akan membawamu ke sana.   -  person Dale K    schedule 02.07.2020
comment
Bermanfaat, saya bisa mendapatkan total fungsi inline dan fungsi bernilai tabel lalu menguranginya dari total fungsi untuk mendapatkan fungsi skalar. Tetapi apakah ada cara untuk memisahkan tabel yang bernilai dan yang sebaris?   -  person Tyro    schedule 02.07.2020


Jawaban (1)


Perbedaan yang Anda cari ini khusus untuk SQL Server dan mungkin tidak tercakup dalam standar information_schema. Anda perlu melihat tampilan sistem untuk itu:

select o.type_desc, count(*)
from sys.objects o
where o.type in ('AF', 'FN', 'FS', 'FT', 'IF', 'TF')
group by o.type_desc
order by o.type_desc;

Tergantung pada versi SQL Server yang Anda gunakan, daftar tipe objek yang tersedia mungkin berbeda. Lihat dokumentasi untuk versi Anda mengenai hal itu.

person Roger Wolf    schedule 02.07.2020