Share via


xp_findnextmsg (Transact-SQL)

Consente di specificare un ID di messaggio come input e di ottenere l'ID del messaggio successivo come output. La stored procedure xp_findnextmsg viene utilizzata con sp_processmail per elaborare la posta nella posta in arrivo di MicrosoftSQL Server.

[!NOTA]

Questa caratteristica verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

xp_findnextmsg [ [ @type= ] type ] 
     [ , [ @unread_only= ] 'unread_value' ]
     [ , [ @msg_id= ] 'message_id' [ OUTPUT ] ]

Argomenti

  • [ @type=] type
    Tipo del messaggio di input in base alla definizione MAPI:

    IP[M|C].Vendorname.subclass

    Se type è NULL, i tipi di messaggio che iniziano con IPM vengono visualizzati nella cartella Posta in arrivo del client di posta elettronica e vengono recuperati o letti da xp_findnextmsg. I tipi di messaggio che iniziano con IPC non vengono visualizzati nella cartella Posta in arrivo del client di posta elettronica e vengono recuperati o letti impostando il parametro type. Il valore predefinito è NULL. SQL Mail supporta i tipi di messaggio IPM e IPC.

  • [ @unread_only=] 'unread_value'
    Indica se vengono considerati solo i messaggi non letti (N'TRUE'). Il valore predefinito è N'FALSE', a indicare che vengono considerati tutti i messaggi. unread_value è di tipo nvarchar(5).

  • [ @msg_id=] 'message_id'
    Parametro di input e output che specifica la stringa del messaggio nell'input e la stringa del successivo messaggio nell'output. Se message_id per l'input è NULL, per impostazione predefinita l'output @msg_id corrisponde all'ID del messaggio recapitato più di recente nella cartella Posta in arrivo. message_id è di tipo varchar(255) e il valore predefinito è NULL.

  • OUTPUT
    Se specificato, il valore di message_id viene inserito nel parametro di output. Se non viene specificato, il valore di message_id viene restituito come set di risultati a colonna singola o a riga singola.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Set di risultati

xp_findnextmsg restituisce un messaggio quando viene passato un ID di messaggio valido.

Se @msg_id è NULL, xp_findnextmsg restituisce il set di risultati seguente.

Nome colonna

Tipo di dati

Descrizione

ID del messaggio

varchar(255)

ID del messaggio per il messaggio successivo.

Osservazioni

Qualsiasi errore, ad eccezione degli errori di parametro non valido, viene inserito nel registro applicazioni di Microsoft Windows.

Autorizzazioni

È richiesta l'appartenenza al ruolo predefinito del server sysadmin, ma è possibile concedere autorizzazioni EXECUTE ad altri utenti. Per motivi di protezione, è tuttavia consigliabile concedere le autorizzazioni per l'esecuzione di questa stored procedure solo ai membri del ruolo predefinito del server sysadmin.

Esempi

Nell'esempio seguente viene recuperato lo stato quando si esegue la ricerca dell'ID di messaggio successivo (solo per i messaggi non letti) Il valore restituito da xp_findnextmsg viene infine inserito nella variabile locale @message\_id.

DECLARE @status int, @message_id varchar(255) ;

EXEC @status = xp_findnextmsg @msg_id = @message_id OUTPUT ;