Menampilkan fungsi yang ditentukan pengguna
Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
Anda dapat memperoleh informasi tentang definisi atau properti fungsi yang ditentukan pengguna di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL. Anda mungkin perlu melihat definisi fungsi untuk memahami bagaimana datanya berasal dari tabel sumber atau untuk melihat data yang ditentukan oleh fungsi.
Jika Anda mengubah nama objek yang dirujuk oleh fungsi, Anda harus mengubah fungsi tersebut sehingga teksnya mencerminkan nama baru. Oleh karena itu, sebelum mengganti nama objek, tampilkan dependensi objek terlebih dahulu untuk menentukan apakah ada fungsi yang terpengaruh oleh perubahan yang diusulkan.
Izin
Menggunakan sys.sql_expression_dependencies
untuk menemukan semua dependensi pada fungsi memerlukan izin LIHAT DEFINISI pada database dan izin SELECT pada sys.sql_expression_dependencies
untuk database. Definisi objek sistem, seperti yang dikembalikan dalam OBJECT_DEFINITION, terlihat secara publik.
Menggunakan SQL Server Management Studio
Menampilkan properti fungsi yang ditentukan pengguna
Di Object Explorer, pilih tanda plus di samping database yang berisi fungsi yang ingin Anda tampilkan propertinya, lalu pilih tanda plus untuk memperluas folder Programmability .
Pilih tanda plus untuk memperluas folder Functions .
Pilih tanda plus untuk memperluas folder yang berisi fungsi yang ingin Anda lihat propertinya:
- Fungsi bernilai tabel
- Fungsi bernilai skalar
- Fungsi Agregat
Klik kanan fungsi yang ingin Anda tampilkan propertinya dan pilih Properti.
Properti berikut muncul dalam kotak dialog Properti Fungsi -function_name .
Nama fungsi Deskripsi Database Nama database yang berisi fungsi ini. Server Nama instans server saat ini. Pengguna Nama pengguna koneksi ini. Tanggal dibuat Menampilkan tanggal fungsi dibuat. Jalankan Sebagai Konteks eksekusi untuk fungsi tersebut. Nama Nama fungsi saat ini. Skema Menampilkan skema yang memiliki fungsi. Objek sistem Menunjukkan apakah fungsi adalah objek sistem. Nilai adalah True
danFalse
.NULL ANSI Menunjukkan apakah objek dibuat dengan opsi NULL ANSI. Dienkripsi Menunjukkan apakah fungsi dienkripsi. Nilai adalah True
danFalse
.Tipe Fungsi Jenis fungsi yang ditentukan pengguna. Pengidentifikasi yang dikutip Menunjukkan apakah objek dibuat dengan opsi pengidentifikasi yang dikutip. Terikat skema Menunjukkan apakah fungsi terikat skema. Nilai adalah True dan False. Untuk informasi tentang fungsi terikat skema, lihat bagian SCHEMABINDING dari CREATE FUNCTION (Transact-SQL).
Menggunakan Transact-SQL
Mendapatkan definisi dan properti fungsi
Di Object Explorer, sambungkan ke instans Mesin Database.
Pada bilah Standar, pilih Kueri Baru.
Salin dan tempel salah satu contoh berikut ke jendela kueri dan pilih Jalankan.
Sampel kode berikut mendapatkan nama fungsi, definisi, dan properti yang relevan.
USE AdventureWorks2022; GO -- Get the function name, definition, and relevant properties SELECT sm.object_id, OBJECT_NAME(sm.object_id) AS object_name, o.type, o.type_desc, sm.definition, sm.uses_ansi_nulls, sm.uses_quoted_identifier, sm.is_schema_bound, sm.execute_as_principal_id -- using the two system tables sys.sql_modules and sys.objects FROM sys.sql_modules AS sm JOIN sys.objects AS o ON sm.object_id = o.object_id -- from the function 'dbo.ufnGetProductDealerPrice' WHERE sm.object_id = OBJECT_ID('dbo.ufnGetProductDealerPrice') ORDER BY o.type; GO
Sampel kode berikut mendapatkan definisi fungsi
dbo.ufnGetProductDealerPrice
contoh .USE AdventureWorks2022; GO -- Get the definition of the function dbo.ufnGetProductDealerPrice SELECT OBJECT_DEFINITION (OBJECT_ID('dbo.ufnGetProductDealerPrice')) AS ObjectDefinition; GO
Untuk informasi selengkapnya, lihat sys.sql_modules (Transact-SQL) dan OBJECT_DEFINITION (Transact-SQL).
Mendapatkan dependensi fungsi
Di Object Explorer, sambungkan ke instans Mesin Database.
Pada bilah Standar, pilih Kueri Baru.
Salin dan tempel contoh berikut ke dalam jendela kueri dan pilih Jalankan.
USE AdventureWorks2022; GO -- Get all of the dependency information SELECT OBJECT_NAME(sed.referencing_id) AS referencing_entity_name, o.type_desc AS referencing_desciption, COALESCE(COL_NAME(sed.referencing_id, sed.referencing_minor_id), '(n/a)') AS referencing_minor_id, sed.referencing_class_desc, sed.referenced_class_desc, sed.referenced_server_name, sed.referenced_database_name, sed.referenced_schema_name, sed.referenced_entity_name, COALESCE(COL_NAME(sed.referenced_id, sed.referenced_minor_id), '(n/a)') AS referenced_column_name, sed.is_caller_dependent, sed.is_ambiguous -- from the two system tables sys.sql_expression_dependencies and sys.object FROM sys.sql_expression_dependencies AS sed INNER JOIN sys.objects AS o ON sed.referencing_id = o.object_id -- on the function dbo.ufnGetProductDealerPrice WHERE sed.referencing_id = OBJECT_ID('dbo.ufnGetProductDealerPrice'); GO
Untuk informasi selengkapnya, lihat sys.sql_expression_dependencies (Transact-SQL) dan sys.objects (Transact-SQL).
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk