Saya telah menemukan Anda dapat menggunakan pendekatan yang sangat tidak bertele-tele dan langsung untuk memeriksa keberadaan berbagai objek SQL Server dengan cara ini:
IF OBJECTPROPERTY (object_id('schemaname.scalarfuncname'), 'IsScalarFunction') = 1
IF OBJECTPROPERTY (object_id('schemaname.tablefuncname'), 'IsTableFunction') = 1
IF OBJECTPROPERTY (object_id('schemaname.procname'), 'IsProcedure') = 1
Ini didasarkan pada fungsi OBJECTPROPERTY yang tersedia di SQL 2005+. Artikel MSDN dapat ditemukan di sini .
Fungsi OBJECTPROPERTY menggunakan tanda tangan berikut:
OBJECTPROPERTY ( id , property )
Anda meneruskan nilai literal ke dalam parameter properti, yang menunjukkan tipe objek yang Anda cari. Ada banyak sekali daftar nilai yang dapat Anda berikan.