Bagikan melalui


Sintaks Transact-SQL Didukung oleh IntelliSense

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Topik ini menjelaskan pernyataan Transact-SQL dan elemen sintaksis yang didukung oleh IntelliSense di SQL Server.

Pernyataan yang Didukung oleh IntelliSense

Di SQL Server, IntelliSense hanya mendukung pernyataan Transact-SQL yang paling umum digunakan. Beberapa kondisi Editor Kueri Mesin Database umum mungkin mencegah IntelliSense berfungsi. Untuk informasi selengkapnya, lihat Pemecahan Masalah IntelliSense (SQL Server Management Studio).

Nota

IntelliSense tidak tersedia untuk objek database terenkripsi, seperti prosedur tersimpan terenkripsi atau fungsi yang ditentukan pengguna. Bantuan Parameter dan Informasi Cepat tidak tersedia untuk parameter prosedur tersimpan yang diperluas (Extended Stored Procedure) dan tipe yang didefinisikan pengguna untuk Integrasi CLR.

Pernyataan SELECT

Editor Kueri Mesin Database menyediakan dukungan IntelliSense untuk elemen sintaks berikut dalam pernyataan SELECT:

PILIH

DIMANA

DARI

URUTKAN BERDASARKAN

MEMILIKI

GABUNGAN

untuk

Kelompokkan menurut

PUNCAK

OPTION (petunjuk)

Pernyataan Transact-SQL Tambahan yang Didukung

Editor Kueri Mesin Database juga menyediakan dukungan IntelliSense untuk pernyataan Transact-SQL yang diperlihatkan dalam tabel berikut.

pernyataan Transact-SQL Sintaks yang didukung Pengecualian
MEMASUKKAN Semua sintaks, kecuali klausa execute_statement . Tidak ada
PEMUTAKHIRAN Semua sintaks. Tidak ada
MENGHAPUS Semua sintaks. Tidak ada
DECLARE @local_variable Semua sintaks. Tidak ada
SET @local_variable Semua sintaks. Tidak ada
MENJALANKAN Eksekusi prosedur tersimpan yang ditentukan pengguna, prosedur tersimpan sistem, fungsi yang ditentukan pengguna, dan fungsi sistem. Tidak ada
BUAT TABEL Semua sintaks. Tidak ada
BUAT PANDANGAN Semua sintaks. Tidak ada
BUAT PROSEDUR Semua sintaks. Tidak ada dukungan IntelliSense untuk klausul NAMA EKSTERNAL.

Dalam klausul AS, IntelliSense hanya mendukung pernyataan dan sintaksis yang tercantum dalam topik ini.
UBAH PROSEDUR Semua sintaks Tidak ada dukungan IntelliSense untuk klausul NAMA EKSTERNAL.

Dalam klausul AS, IntelliSense hanya mendukung pernyataan dan sintaksis yang tercantum dalam topik ini.
GUNAKAN Semua sintaks. Tidak ada

IntelliSense dalam Pernyataan yang Didukung

IntelliSense di Editor Kueri Mesin Database mendukung elemen sintaks berikut saat digunakan dalam salah satu pernyataan Transact-SQL yang didukung:

  • Semua jenis gabungan, termasuk APPLY

  • PIVOT dan UNPIVOT

  • Referensi ke objek database berikut:

    • Database dan skema

    • Tabel, tampilan, fungsi bernilai tabel, dan ekspresi tabel

    • Kolom-kolom

    • Parameter prosedur dan prosedur

    • Fungsi skalar dan ekspresi skalar

    • Variabel lokal

    • Ekspresi tabel umum (CTE)

  • Objek database yang hanya dirujuk dalam pernyataan CREATE atau ALTER dalam skrip atau batch, tetapi yang belum ada dalam database karena skrip atau batch belum dijalankan. Objek-objek ini adalah sebagai berikut:

    • Tabel dan prosedur yang telah ditentukan dalam pernyataan CREATE TABLE atau CREATE PROCEDURE dalam skrip atau batch.

    • Perubahan pada tabel dan prosedur yang telah ditentukan dalam pernyataan ALTER TABLE atau ALTER PROCEDURE dalam skrip atau batch.

    Nota

    IntelliSense tidak tersedia untuk kolom pernyataan CREATE VIEW hingga pernyataan CREATE VIEW telah dijalankan.

IntelliSense tidak disediakan untuk elemen yang tercantum sebelumnya saat digunakan dalam pernyataan Transact-SQL lainnya. Misalnya, ada dukungan IntelliSense untuk nama kolom yang digunakan dalam pernyataan SELECT, tetapi tidak untuk kolom yang digunakan dalam pernyataan CREATE FUNCTION.

Contoh

Dalam skrip atau batch Transact-SQL, IntelliSense di Editor Kueri Mesin Database hanya mendukung pernyataan dan sintaks yang tercantum dalam topik ini. Contoh kode Transact-SQL berikut menunjukkan pernyataan dan elemen sintaksis apa yang didukung IntelliSense. Misalnya, dalam batch berikut, IntelliSense tersedia untuk pernyataan SELECT ketika dikodekan secara mandiri, tetapi tidak ketika SELECT terkandung dalam pernyataan CREATE FUNCTION.

USE AdventureWorks2022;  
GO  
SELECT Name  
FROM Production.Product  
WHERE Name LIKE N'Road-250%' and Color = N'Red';  
GO  
CREATE FUNCTION Production.ufn_Red250 ()  
RETURNS TABLE  
AS  
RETURN   
(  
    SELECT Name  
    FROM AdventureWorks2022.Production.Product  
    WHERE Name LIKE N'Road-250%'  
      AND Color = N'Red'  
);GO  

Fungsionalitas ini juga berlaku untuk kumpulan pernyataan Transact-SQL dalam klausul AS dari pernyataan CREATE PROCEDURE atau ALTER PROCEDURE.

Dalam skrip atau batch Transact-SQL, IntelliSense mendukung objek yang telah ditentukan dalam pernyataan CREATE atau ALTER; namun, objek ini tidak ada dalam database karena pernyataan belum dijalankan. Misalnya, Anda mungkin memasukkan kode berikut di Editor Kueri:

USE MyTestDB;  
GO  
CREATE TABLE MyTable  
    (PrimaryKeyCol   INT PRIMARY KEY,  
    FirstNameCol      NVARCHAR(50),  
   LastNameCol       NVARCHAR(50));  
GO  
SELECT   

Setelah Anda mengetik SELECT, IntelliSense mencantumkan elemen PrimaryKeyCol, FirstNameCol, dan LastNameCol sebagai mungkin dalam daftar pilihan, bahkan jika skrip belum dijalankan dan MyTable belum ada di MyTestDB.