Udostępnij za pomocą


DRUK (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punkt końcowy analizy SQL w usłudze Microsoft FabricHurtownia danych w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric

Zwraca klientowi komunikat zdefiniowany przez użytkownika. Na przykład w programie SQL Server Management Studio PRINT dane wyjściowe na karcie Komunikaty okna wyników zapytania.

Transact-SQL konwencje składni

Syntax

PRINT msg_str | @local_variable | string_expr

Arguments

msg_str

Ciąg znaków lub stała ciągu Unicode. Aby uzyskać więcej informacji, zobacz Stałe.

@local_variable

Zmienna dowolnego prawidłowego typu danych znaków. @local_variable musi być char, nchar, varchar lub nvarchar albo musi być niejawnie konwertowany na te typy danych.

string_expr

Wyrażenie zwracające ciąg. Może zawierać łączone wartości literału, funkcje i zmienne. Aby uzyskać więcej informacji, zobacz Expressions.

Remarks

Ciąg komunikatu może mieć długość do 8000 znaków, jeśli jest to ciąg inny niż Unicode i 4000 znaków, jeśli jest to ciąg Unicode. Dłuższe ciągi są obcinane. Typy danych varchar(max) i nvarchar(max) są obcinane do typów danych, które nie są większe niż varchar(8000) i nvarchar(4000).

Funkcja RAISERROR może również służyć do zwracania komunikatów. RAISERROR ma następujące zalety w porównaniu z PRINT:

  • RAISERROR Obsługuje podstawianie argumentów w ciągu komunikatu o błędzie przy użyciu mechanizmu wzorowanego na funkcji printf biblioteki standardowej języka C.

  • RAISERROR może określać unikatowy numer błędu, ważność i kod stanu oprócz wiadomości SMS.

  • RAISERRORMoże służyć do zwracania komunikatów zdefiniowanych przez użytkownika utworzonych przy użyciu procedury składowanej systemu sp_addmessage (Transact-SQL).

Examples

A. Warunkowe wykonywanie drukowania (JEŚLI ISTNIEJE)

W poniższym przykładzie użyto instrukcji , PRINT aby warunkowo zwrócić komunikat.

IF @@OPTIONS & 512 <> 0
    PRINT N'This user has SET NOCOUNT turned ON.';
ELSE
    PRINT N'This user has SET NOCOUNT turned OFF.';
GO

B. Kompilowanie i wyświetlanie ciągu

Poniższy przykład konwertuje wyniki funkcji GETDATE na typ danych nvarchar i łączy je z tekstem literału zwracanym przez PRINTelement .

PRINT N'This message was printed on ' + RTRIM(CAST(GETDATE() AS NVARCHAR(30))) + N'.';
GO

W poniższym przykładzie pokazano tworzenie tekstu komunikatu w zmiennej.

DECLARE @PrintMessage NVARCHAR(50);
SET @PrintMessage = N'This message was printed on ' + RTRIM(CAST(GETDATE() AS NVARCHAR(30))) + N'.';
PRINT @PrintMessage;
GO

Przykłady: Azure Synapse Analytics and Analytics Platform System (PDW)

C. Warunkowe wykonywanie wydruku

W poniższym przykładzie użyto instrukcji , PRINT aby warunkowo zwrócić komunikat.

IF DB_ID() = 1
    PRINT N'The current database is ''master''.';
ELSE
    PRINT N'The current database is not ''master''.';
GO