Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Gunakan OBJECTPROPERTY() untuk Menentukan Apakah Objek adalah Tampilan di SQL Server

Anda dapat menggunakan OBJECTPROPERTY() fungsi di SQL Server untuk mengetahui apakah suatu objek adalah tampilan atau tidak.

Fungsi ini menerima dua parameter:ID objek, dan properti yang Anda periksa.

Oleh karena itu, Anda dapat meneruskan ID objek sebagai argumen pertama, dan IsView sebagai yang kedua, dan fungsinya akan mengembalikan 1 atau 0 tergantung pada apakah itu pandangan atau tidak.

Nilai kembalian 1 artinya adalah tampilan, dan nilai 0 berarti bukan.

Contoh 1 – Penggunaan Dasar

Berikut contoh cepat untuk ditunjukkan.

USE Music;
SELECT OBJECTPROPERTY(1525580473, 'IsView') AS [IsView];

Hasil:

+----------+
| IsView   |
|----------|
| 1        |
+----------+

Dalam hal ini, Musik database memiliki objek dengan ID yang diberikan, dan itu adalah tampilan.

Contoh 2 – Mendapatkan ID Objek

Jika Anda mengetahui nama objek, tetapi tidak mengetahui ID-nya, Anda dapat menggunakan OBJECT_ID() berfungsi untuk mengambil ID berdasarkan namanya.

Contoh:

SELECT OBJECTPROPERTY(OBJECT_ID('RockAlbums'), 'IsView') AS [IsView];

Hasil:

+----------+
| IsView   |
|----------|
| 1        |
+----------+

Dalam hal ini saya memeriksa objek yang sama dari contoh sebelumnya.

Ini dia lagi dengan keluaran ID secara terpisah.

SELECT 
  OBJECT_ID('RockAlbums') AS [Object ID],
  OBJECTPROPERTY(OBJECT_ID('RockAlbums'), 'IsView') AS [IsView];

Hasil:

+-------------+----------+
| Object ID   | IsView   |
|-------------+----------|
| 1525580473  | 1        |
+-------------+----------+

Contoh 3 – Saat Objek BUKAN Tampilan

Inilah yang terjadi jika objek bukan tampilan.

SELECT OBJECTPROPERTY(885578193, 'IsView') AS [IsView];

Hasil:

+----------+
| IsView   |
|----------|
| 0        |
+----------+

Dalam hal ini, database tidak sebenarnya memiliki objek dengan ID itu, tetapi objek itu sebenarnya adalah tabel, jadi saya mendapatkan hasil negatif.

Ini dia lagi menggunakan OBJECT_ID() .

SELECT 
  OBJECT_ID('Artists') AS [Object ID],
  OBJECTPROPERTY(OBJECT_ID('Artists'), 'IsView') AS [IsView];

Hasil:

+-------------+----------+
| Object ID   | IsView   |
|-------------+----------|
| 885578193   | 0        |
+-------------+----------+

Contoh 4 – Objek Tidak Ada

SQL Server mengasumsikan bahwa ID objek dalam konteks database saat ini. Jika Anda memasukkan ID objek dari database yang berbeda, Anda akan mendapatkan hasil NULL atau Anda akan mendapatkan hasil yang salah.

SELECT 
  OBJECTPROPERTY(OBJECT_ID('NonExistentObject'), 'IsView') AS [NonExistentObject],
  OBJECTPROPERTY(11111111, 'IsView') AS [11111111];

Hasil:

+---------------------+------------+
| NonExistentObject   | 11111111   |
|---------------------+------------|
| NULL                | NULL       |
+---------------------+------------+

Dalam hal ini database tidak berisi objek dengan nama atau ID itu, jadi saya mendapatkan hasil NULL.

Anda juga akan mendapatkan NULL pada kesalahan atau jika Anda tidak memiliki izin untuk melihat objek.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Batasan SQL DEFAULT untuk Menyisipkan Kolom dengan Nilai Default ke Tabel SQL Server

  2. Cara memasukkan data Excel atau CSV ke dalam Tabel dengan menggunakan Graphical User Interface di SQL Server - Tutorial SQL Server / TSQL Part 102

  3. Membuat Tabel di SQL Server (T-SQL)

  4. Arsitektur SQL Server AlwaysOn (Availability Group) dan Instalasi Langkah demi Langkah -1

  5. Cara mengelompokkan berdasarkan bulan dari bidang Tanggal menggunakan sql