Bagikan melalui


Sintaks Transact-SQL Didukung oleh IntelliSense

Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics 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).

Catatan

IntelliSense tidak tersedia untuk objek database terenkripsi, seperti prosedur tersimpan terenkripsi atau fungsi yang ditentukan pengguna. Bantuan parameter dan Info Cepat tidak tersedia untuk parameter prosedur tersimpan yang diperluas dan jenis yang ditentukan pengguna Integrasi CLR.

Pernyataan SELECT

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

SELECT

WHERE

DARI

ORDER BY

MEMILIKI

GABUNGAN

FOR

GROUP BY

TOP

OPTION (petunjuk)

Pernyataan Transact-SQL Tambahan yang Didukung

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

Pernyataan Transact-SQL Sintaks yang didukung Pengecualian
INSERT Semua sintaks, kecuali klausa execute_statement . Tidak
UPDATE Semua sintaks. Tidak
DELETE Semua sintaks. Tidak
DECLARE @local_variable Semua sintaks. Tidak
SET @local_variable Semua sintaks. Tidak
EXECUTE Eksekusi prosedur tersimpan yang ditentukan pengguna, prosedur tersimpan sistem, fungsi yang ditentukan pengguna, dan fungsi sistem. Tidak
CREATE TABLE Semua sintaks. Tidak
CREATE VIEW Semua sintaks. Tidak
CREATE PROCEDURE Semua sintaks. Tidak ada dukungan IntelliSense untuk klausul NAMA EKSTERNAL.

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

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

IntelliSense dalam Pernyataan yang Didukung

IntelliSense di Mesin Database Editor Kueri 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

    • 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 tidak 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.

    Catatan

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

IntelliSense tidak disediakan untuk elemen yang tercantum sebelumnya ketika 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 Mesin Database Editor Kueri 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 SELECT pernyataan ketika dikodekan dengan sendirinya, tetapi tidak ketika SELECT terkandung dalam CREATE FUNCTION pernyataan.

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 pilih, bahkan jika skrip belum dijalankan dan MyTable belum ada di MyTestDB.