OBJECT_DEFINITION (Transact-SQL)

Berlaku untuk: SQL Server (semua versi yang didukung) Azure SQL Database Azure SQL Managed Instance

Mengembalikan teks sumber Transact-SQL dari definisi objek tertentu.

Ikon tautan topikKonvensi Sintaks Transact-SQL

Sintaks

OBJECT_DEFINITION ( object_id )  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

object_id
Adalah ID objek yang akan digunakan. object_idint, dan diasumsikan mewakili objek dalam konteks database saat ini.

Jenis Pengembalian

nvarchar(maks)

Pengecualian

Mengembalikan NULL pada kesalahan atau jika penelepon tidak memiliki izin untuk melihat objek.

Pengguna hanya dapat melihat metadata yang dapat diamankan yang dimiliki pengguna atau di mana pengguna telah diberikan izin. Ini berarti bahwa fungsi bawaan yang memancarkan metadata seperti OBJECT_DEFINITION dapat mengembalikan NULL jika pengguna tidak memiliki izin apa pun pada objek. Untuk informasi selengkapnya, lihat Konfigurasi Visibilitas Metadata.

Keterangan

Mesin database SQL Server mengasumsikan bahwa object_id berada dalam konteks database saat ini. Kolae definisi objek selalu cocok dengan konteks database panggilan.

OBJECT_DEFINITION berlaku untuk jenis objek berikut:

  • C = Periksa batasan

  • D = Default (batasan atau berdiri sendiri)

  • P = Prosedur tersimpan SQL

  • FN = Fungsi skalar SQL

  • R = Aturan

  • RF = Prosedur filter replikasi

  • TR = Pemicu SQL (pemicu DML cakupan skema, atau pemicu DDL di lingkup database atau server)

  • IF = Fungsi bernilai tabel sebaris SQL

  • TF = Fungsi bernilai tabel SQL

  • V = Tampilan

Izin

Definisi objek sistem terlihat secara publik. Definisi objek pengguna terlihat oleh pemilik objek atau pemberi izin yang memiliki salah satu izin berikut: ALTER, CONTROL, TAKE OWNERSHIP, atau VIEW DEFINITION. Izin ini secara implisit dipegang oleh anggota peran database tetap db_owner, db_ddladmin, dan db_securityadmin .

Contoh

A. Mengembalikan teks sumber objek yang ditentukan pengguna

Contoh berikut mengembalikan definisi pemicu yang ditentukan pengguna, uAddress, dalam Person skema. Fungsi bawaan OBJECT_ID digunakan untuk mengembalikan ID objek pemicu ke OBJECT_DEFINITION pernyataan .

USE AdventureWorks2012;  
GO  
SELECT OBJECT_DEFINITION (OBJECT_ID(N'Person.uAddress')) AS [Trigger Definition];   
GO  

B. Mengembalikan teks sumber objek sistem

Contoh berikut mengembalikan definisi prosedur sys.sp_columnstersimpan sistem .

USE AdventureWorks2012;  
GO  
SELECT OBJECT_DEFINITION (OBJECT_ID(N'sys.sp_columns')) AS [Object Definition];  
GO  

Lihat juga

Fungsi Metadata (Transact-SQL)
OBJECT_NAME (Transact-SQL)
OBJECT_ID (Transact-SQL)
sp_helptext (Transact-SQL)
sys.sql_modules (Transact-SQL)
sys.server_sql_modules (Transact-SQL)