Delen via


PRINT (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric Preview

Retourneert een door de gebruiker gedefinieerd bericht naar de client. In SQL Server Management Studio PRINT wordt bijvoorbeeld het tabblad Berichten van het venster queryresultaten weergegeven.

Transact-SQL syntaxis-conventies

Syntax

PRINT msg_str | @local_variable | string_expr

Arguments

msg_str

Een tekenreeks of Unicode-tekenreeksconstante. Zie Constanten voor meer informatie.

@local_variable

Een variabele van elk geldig tekengegevenstype. @local_variable moet char, nchar, varchar of nvarchar zijn, of moet impliciet kunnen worden geconverteerd naar deze gegevenstypen.

string_expr

Een expressie die een tekenreeks retourneert. Kan bestaan uit samengevoegde letterlijke waarden, functies en variabelen. Zie Expressies voor meer informatie.

Remarks

Een berichttekenreeks kan maximaal 8000 tekens lang zijn als het een niet-Unicode-tekenreeks is en 4000 tekens lang als het een Unicode-tekenreeks is. Langere tekenreeksen worden afgekapt. De gegevenstypen varchar(max) en nvarchar(max) worden afgekapt tot gegevenstypen die niet groter zijn dan varchar(8000) en nvarchar(4000).

RAISERROR kan ook worden gebruikt om berichten te retourneren. RAISERROR heeft deze voordelen ten opzichte van PRINT:

  • RAISERROR ondersteunt het vervangen van argumenten in een tekenreeks met foutberichten met behulp van een mechanisme dat is gemodelleerd op de afdrukfunctie van de standaardbibliotheek van de C-taal.

  • RAISERROR kan naast het tekstbericht een uniek foutnummer, een ernst en een statuscode opgeven.

  • RAISERROR kan worden gebruikt om door de gebruiker gedefinieerde berichten te retourneren die zijn gemaakt met behulp van de door de sp_addmessage (Transact-SQL) opgeslagen procedure van het systeem.

Examples

A. Afdrukken voorwaardelijk uitvoeren (INDIEN AANWEZIG)

In het volgende voorbeeld wordt de PRINT instructie gebruikt om een bericht voorwaardelijk te retourneren.

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. Een tekenreeks bouwen en weergeven

In het volgende voorbeeld worden de resultaten van de functie GETDATE geconverteerd naar een nvarchar-gegevenstype en wordt deze samengevoegd met letterlijke tekst, die wordt geretourneerd door PRINT.

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

In het volgende voorbeeld ziet u hoe u de berichttekst in een variabele bouwt.

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

Voorbeelden: Azure Synapse Analytics and Analytics Platform System (PDW)

C. Afdrukken voorwaardelijk uitvoeren

In het volgende voorbeeld wordt de PRINT instructie gebruikt om een bericht voorwaardelijk te retourneren.

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