Bagikan melalui


Menampilkan Fungsi yang ditentukan pengguna

Anda dapat memperoleh informasi tentang definisi atau properti fungsi yang ditentukan pengguna di SQL Server 2014 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.

Penting

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.

Dalam Topik Ini

Sebelum Anda mulai

Keamanan

Izin

Menggunakan sys.sql_expression_dependencies untuk menemukan semua dependensi pada fungsi memerlukan izin VIEW DEFINITION 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

Untuk menampilkan properti fungsi yang ditentukan pengguna

  1. Di Object Explorer, klik tanda plus di samping database yang berisi fungsi yang ingin Anda tampilkan propertinya, lalu klik tanda plus untuk memperluas folder Programmability .

  2. Klik tanda plus untuk memperluas folder Functions .

  3. Klik tanda plus untuk memperluas folder yang berisi fungsi yang ingin Anda lihat propertinya:

    • Fungsi bernilai tabel

    • Fungsi bernilai skalar

    • Fungsi Agregat

  4. Klik kanan fungsi yang ingin Anda tampilkan propertinya dan pilih Properti.

    Properti berikut ini muncul dalam kotak dialog Properti Fungsi -function_name .

    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 dan False.

    NULL ANSI
    Menunjukkan apakah objek dibuat dengan opsi NULL ANSI.

    Dienkripsi
    Menunjukkan apakah fungsi dienkripsi. Nilai adalah True dan False.

    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 T-SQL

Untuk mendapatkan definisi dan properti fungsi

  1. Di Object Explorer, sambungkan ke instans Mesin Database.

  2. Pada bilah Standar, klik Kueri Baru.

  3. Salin dan tempel salah satu contoh berikut ke dalam jendela kueri dan klik Jalankan.

    USE AdventureWorks2012;  
    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  
    
    
    USE AdventureWorks2012;  
    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).

Untuk mendapatkan dependensi fungsi

  1. Di Object Explorer, sambungkan ke instans Mesin Database.

  2. Pada bilah Standar, klik Kueri Baru.

  3. Salin dan tempel contoh berikut ke dalam jendela kueri dan klik Jalankan.

    USE AdventureWorks2012;  
    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).