Bagikan melalui


Sintaks Transact-SQL Didukung oleh IntelliSense

Berlaku untuk: SQL Server Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Topik ini menjelaskan pernyataan Transact-SQL dan elemen sintaks yang didukung oleh IntelliSense dalam SQL Server.

Pernyataan yang Didukung oleh IntelliSense

Dalam 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

FROM

ORDER BY

HAVING

UNION

FOR

KELOMPOKKAN MENURUT

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 ada
UPDATE Semua sintaksis. Tidak ada
DELETE Semua sintaksis. Tidak ada
DECLARE @local_variable Semua sintaksis. Tidak ada
SET @local_variable Semua sintaksis. Tidak ada
EXECUTE Eksekusi prosedur tersimpan yang ditentukan pengguna, prosedur tersimpan sistem, fungsi yang ditentukan pengguna, dan fungsi sistem. Tidak ada
CREATE TABLE Semua sintaksis. Tidak ada
CREATE VIEW Semua sintaksis. Tidak ada
CREATE PROCEDURE Semua sintaksis. Tidak ada dukungan IntelliSense untuk klausul NAMA EKSTERNAL.

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

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

IntelliSense dalam Pernyataan yang Didukung

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

  • Semua jenis gabungan, termasuk APPLY

  • PIVOT dan UNPIVOT

  • Referensi ke objek database berikut ini:

    • Database dan skema

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

    • Kolom

    • Prosedur dan parameter 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 klausa 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 dapat 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.