Utilità osqlosql Utility

L'utilità osql consente di immettere istruzioni Transact-SQLTransact-SQL , procedure di sistema e file script.The osql utility allows you to enter Transact-SQLTransact-SQL statements, system procedures, and script files. Questa utilità comunica con il server tramite ODBC.This utility uses ODBC to communicate with the server.

Importante

Questa funzionalità verrà rimossa nelle versioni future di SQL ServerSQL Server.This feature will be removed in a future version of SQL ServerSQL Server. Evitare pertanto di utilizzarla in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni che attualmente utilizzano questa funzionalità.Avoid using this feature in new development work, and plan to modify applications that currently use the feature. In alternativa, usare sqlcmd .Use sqlcmd instead. Per altre informazioni, vedere sqlcmd Utility.For more information, see sqlcmd Utility.

SintassiSyntax


osql  
[-?] |  
[-L] |  
[  
  {  
     {-Ulogin_id [-Ppassword]} | –E }  
     [-Sserver_name[\instance_name]] [-Hwksta_name] [-ddb_name]  
     [-ltime_out] [-ttime_out] [-hheaders]  
     [-scol_separator] [-wcolumn_width] [-apacket_size]  
     [-e] [-I] [-D data_source_name]  
     [-ccmd_end] [-q "query"] [-Q"query"]  
     [-n] [-merror_level] [-r {0 | 1}]  
     [-iinput_file] [-ooutput_file] [-p]  
     [-b] [-u] [-R] [-O]  
]  

ArgomentiArguments

-?-?
Visualizza il riepilogo della sintassi delle opzioni di osql .Displays the syntax summary of osql switches.

-L-L
Elenca i server configurati localmente e i nomi dei server che trasmettono in rete tramite broadcast.Lists the locally configured servers and the names of the servers broadcasting on the network.

Nota

A causa della natura delle trasmissioni in rete, è possibile che osql non riceva una risposta tempestiva da tutti i serverDue to the nature of broadcasting on networks, osql may not receive a timely response from all servers. e pertanto che l'elenco di server restituito sia diverso per ogni chiamata di questa opzione.Therefore the list of servers returned may vary for each invocation of this option.

-U login_id-U login_id
ID di accesso dell'utente.Is the user login ID. Negli ID di accesso viene fatta distinzione tra maiuscole e minuscole.Login IDs are case-sensitive.

-P password-P password
Password specificata dall'utente.Is a user-specified password. Se si omette l'opzione -P , osql richiede una password.If the -P option is not used, osql prompts for a password. Se l'opzione -P viene specificata alla fine del prompt dei comandi senza indicare una password, osql usa la password predefinita (NULL).If the -P option is used at the end of the command prompt without any password, osql uses the default password (NULL).

Importante

Non usare una password vuota.Do not use a blank password. Usare una password complessa.Use a strong password. Per altre informazioni, vedere Strong Passwords.For more information, see Strong Passwords.

Per le password viene fatta distinzione tra maiuscole e minuscole.Passwords are case-sensitive.

La variabile di ambiente OSQLPASSWORD consente di impostare una password predefinita per la sessione corrente.The OSQLPASSWORD environment variable allows you to set a default password for the current session. Non è pertanto necessario specificare una password a livello di codice nei file batch.Therefore, you do not have to hard code a password into batch files.

Se si specifica l'opzione -P e si omette la password, osql verifica innanzitutto la variabile OSQLPASSWORD.If you do not specify a password with the -P option, osql first checks for the OSQLPASSWORD variable. Se non viene impostato alcun valore, osql usa la password predefinita NULL.If no value is set, osql uses the default password, NULL. Nell'esempio seguente viene impostata la variabile OSQLPASSWORD al prompt dei comandi e quindi si accede all'utilità osql :The following example sets the OSQLPASSWORD variable at a command prompt and then accesses the osql utility:

C:\>SET OSQLPASSWORD=abracadabra  
C:\>osql   

Importante

Per nascondere la password, non specificare l'opzione -P in combinazione con l'opzione -U .To mask your password, do not specify the -P option along with the -U option. Dopo aver specificato il comando osql con -U e altre opzioni (non specificare -P), premere Invio. Il comando osql richiederà l'immissione di una password.Instead, after specifying osql along with the -U option and other switches (do not specify -P), press ENTER, and osql will prompt you for a password. Questo metodo garantisce che la password venga nascosta durante l'immissione.This method ensures that your password will be masked when it is entered.

-E-E
Utilizza una connessione trusted anziché richiedere una password.Uses a trusted connection instead of requesting a password.

-S server_name[ \instance_name]-S server_name[ \instance_name]
Specifica l'istanza di SQL ServerSQL Server alla quale connettersi.Specifies the instance of SQL ServerSQL Server to connect to. Specificare il nome_server per connettersi all'istanza predefinita di SQL ServerSQL Server su tale server.Specify server_name to connect to the default instance of SQL ServerSQL Server on that server. Specificare il nome_server\nome_istanza per connettersi all'istanza predefinita di SQL ServerSQL Server su tale server.Specify server_name\instance_name to connect to a named instance of SQL ServerSQL Server on that server. Se non si specifica alcun server, osql si connette all'istanza predefinita di SQL ServerSQL Server nel computer locale.If no server is specified, osql connects to the default instance of SQL ServerSQL Server on the local computer. Questa opzione è obbligatoria per l'esecuzione di osql da un computer remoto sulla rete.This option is required when executing osql from a remote computer on the network.

-H wksta_name-H wksta_name
Nome della workstation.Is a workstation name. Il nome della workstation viene archiviato in sysprocesses.hostname ed è visualizzato tramite sp_who.The workstation name is stored in sysprocesses.hostname and is displayed by sp_who. Se omesso, viene utilizzato il nome del computer corrente.If this option is not specified, the current computer name is assumed.

-d db_name-d db_name
Esegue un'istruzione USE db_name all'avvio di osql.Issues a USE db_name statement when osqlis started.

-l time_out-l time_out
Specifica il numero di secondi prima del timeout di accesso a osql . Il valore predefinito per il timeout di accesso a osql è otto secondi.Specifies the number of seconds before an osql login times out. The default time-out for login to osql is eight seconds.

-t time_out-t time_out
Specifica il numero di secondi prima del timeout del comando. Se per time_out non viene specificato alcun valore, ai comandi non viene associato alcun timeout.Specifies the number of seconds before a command times out. If a time_out value is not specified, commands do not time out.

-h headers-h headers
Specifica il numero di righe da stampare tra le intestazioni delle colonne.Specifies the number of rows to print between column headings. Per impostazione predefinita, le intestazioni vengono stampate una volta per ogni set di risultati delle query.The default is to print headings one time for each set of query results. Utilizzare -1 per non stampare alcuna intestazione.Use -1 to specify that no headers will be printed. Se si usa -1, non inserire spazi tra il parametro e l'impostazione (-h-1e non -h -1).If –1 is used, there must be no space between the parameter and the setting (-h-1, not -h -1).

-s col_separator-s col_separator
Specifica il carattere separatore di colonne che, per impostazione predefinita, è uno spazio vuoto.Specifies the column-separator character, which is a blank space by default. Per utilizzare caratteri con un significato speciale per il sistema operativo (ad esempio, | ; & < >), racchiudere il carattere tra virgolette doppie (").To use characters that have special meaning to the operating system (for example, | ; & < >), enclose the character in double quotation marks (").

-w column_width-w column_width
Consente di impostare la larghezza della schermata per l'output.Allows the user to set the screen width for output. Il valore predefinito è 80 caratteri.The default is 80 characters. Se una riga di output raggiunge la larghezza massima della schermata, viene suddivisa su più righe.When an output line has reached its maximum screen width, it is broken into multiple lines.

-a packet_size-a packet_size
Consente di richiedere un pacchetto di dimensioni diverse.Allows you to request a different-sized packet. I valori validi per packet_size sono compresi tra 512 e 65535.The valid values for packet_size are 512 through 65535. Il valore predefinito per osql è il valore predefinito del server.The default value osql is the server default. Aumentando le dimensioni del pacchetto si possono ottenere miglioramenti delle prestazioni di esecuzione di script di grandi dimensioni, che includono numerose istruzioni SQL tra i comandi GO.Increased packet size can enhance performance on larger script execution where the amount of SQL statements between GO commands is substantial. MicrosoftMicrosoft indicano che, per le operazioni di copia bulk, l'impostazione che garantisce le prestazioni più veloci è in genere 8.192. testing indicates that 8192 is typically the fastest setting for bulk copy operations. È possibile richiedere una dimensione maggiore del pacchetto, ma se questa non è disponibile osql usa il valore predefinito del server.A larger packet size can be requested, but osql defaults to the server default if the request cannot be granted.

-e-e
Esegue l'eco dell'input.Echoes input.

-I-I
Attiva l'opzione di connessione QUOTED_IDENTIFIER.Sets the QUOTED_IDENTIFIER connection option on.

-D data_source_name-D data_source_name
Stabilisce una connessione a un'origine dei dati ODBC definita mediante il driver ODBC per SQL ServerSQL Server.Connects to an ODBC data source that is defined using the ODBC driver for SQL ServerSQL Server. La connessione osql usa le opzioni specificate nell'origine dei dati.The osql connection uses the options specified in the data source.

Nota

Tale opzione non può essere utilizzata con origini dei dati definite per altri driver.This option does not work with data sources defined for other drivers.

-c cmd_end-c cmd_end
Specifica il carattere di terminazione del comando.Specifies the command terminator. Per impostazione predefinita, i comandi vengono terminati e inviati a SQL ServerSQL Server tramite l'immissione di GO su una riga a sé stante.By default, commands are terminated and sent to SQL ServerSQL Server by entering GO on a line by itself. Se si reimposta il carattere di terminazione del comando, non utilizzare parole riservate di Transact-SQLTransact-SQL o caratteri con un significato speciale per il sistema operativo, indipendentemente dal fatto che siano preceduti da una barra rovesciata.When you reset the command terminator, do not use Transact-SQLTransact-SQL reserved words or characters that have special meaning to the operating system, whether preceded by a backslash or not.

-q " query "-q " query "
Esegue una query all'avvio di osql senza uscire da osql al termine della query.Executes a query when osql starts, but does not exit osql when the query completes. Si noti che l'istruzione della query non dovrebbe includere l'istruzione GO.(Note that the query statement should not include GO). Se si esegue una query da un file batch, è possibile utilizzare variabili in formato %variabile o variabili di ambiente in formato %variabile%.If you issue a query from a batch file, use %variables, or environment %variables%. Esempio:For example:

SET table=sys.objects  
osql -E -q "select name, object_id from %table%"  

Racchiudere la query tra virgolette doppie e utilizzare le virgolette singole per altri elementi inclusi nella query.Use double quotation marks around the query and single quotation marks around anything embedded in the query.

-Q" query "-Q" query "
Esegue una query ed esce immediatamente da osql.Executes a query and immediately exits osql. Racchiudere la query tra virgolette doppie e utilizzare le virgolette singole per altri elementi inclusi nella query.Use double quotation marks around the query and single quotation marks around anything embedded in the query.

-n
Rimuove la numerazione e il simbolo del prompt (>) dalle righe di input.Removes numbering and the prompt symbol (>) from input lines.

-m error_level-m error_level
Personalizza la visualizzazione dei messaggi di errore.Customizes the display of error messages. Per gli errori con livello di gravità pari o superiore a quello specificato vengono visualizzati il numero, lo stato e il livello di errore del messaggio.The message number, state, and error level are displayed for errors of the specified severity level or higher. Per gli errori con livelli di gravità inferiori a quello specificato non viene visualizzato nulla.Nothing is displayed for errors of levels lower than the specified level. Usare -1 per specificare che con i messaggi, anche quelli informativi, devono essere restituite anche tutte le rispettive intestazioni.Use -1 to specify that all headers are returned with messages, even informational messages. Se si usa -1, non inserire spazi tra il parametro e l'impostazione (-m-1e non -m -1).If using -1, there must be no space between the parameter and the setting (-m-1, not -m -1).

-r { 0| 1}-r { 0| 1}
Reindirizza l'output dei messaggi sullo schermo (stderr).Redirects message output to the screen (stderr). Se il parametro viene omesso o si specifica 0, vengono reindirizzati solo i messaggi di errore con gravità pari o superiore a 11.If you do not specify a parameter, or if you specify 0, only error messages with a severity level 11 or higher are redirected. Se si specifica 1, viene reindirizzato l'output di tutti i messaggi (incluso quello dell'istruzione "print").If you specify 1, all message output (including "print") is redirected.

-i input_file-i input_file
Identifica il file che include un batch di istruzioni SQL o stored procedure.Identifies the file that contains a batch of SQL statements or stored procedures. Anziché<-i , è possibile utilizzare l'operatore di confronto minore di ().The less than (<) comparison operator can be used in place of -i.

-o output_file-o output_file
Identifica il file che riceve l'output di osql.Identifies the file that receives output from osql. Anziché>-o , è possibile usare l'operatore di confronto maggiore di ().The greater than (>) comparison operator can be used in place of -o.

Se input_file non è un file Unicode e l'opzione -u non è specificata, output_file viene archiviato in formato OEM.If input_file is not Unicode and -u is not specified, output_file is stored in OEM format. Se input_file è un file Unicode o l'opzione -u è specificata, output_file viene archiviato in formato Unicode.If input_file is Unicode or -u is specified, output_file is stored in Unicode format.

-p-p
Stampa le statistiche sulle prestazioni.Prints performance statistics.

-b-b
Specifica che, in caso di errore, osql termini, restituendo un valore DOS ERRORLEVEL.Specifies that osql exits and returns a DOS ERRORLEVEL value when an error occurs. Il valore restituito alla variabile DOS ERRORLEVEL è 1 se al messaggio di errore di SQL ServerSQL Server è associato un livello di gravità maggiore o uguale a 11. In caso contrario, il valore restituito è 0.The value returned to the DOS ERRORLEVEL variable is 1 when the SQL ServerSQL Server error message has a severity of 11 or greater; otherwise, the value returned is 0. MicrosoftMicrosoft I file batch MS-DOS consentono di verificare il valore di DOS ERRORLEVEL, nonché di gestire correttamente l'errore. MS-DOS batch files can test the value of DOS ERRORLEVEL and handle the error appropriately.

-u-u
Specifica l'archiviazione di output_file in formato Unicode, indipendentemente dal formato di input_file.Specifies that output_file is stored in Unicode format, regardless of the format of the input_file.

-R-R
Specifica che il driver ODBC di SQL ServerSQL Server utilizza le impostazioni del client per convertire i dati relativi a valuta, data e ora in dati di tipo carattere.Specifies that the SQL ServerSQL Server ODBC driver use client settings when converting currency, date, and time data to character data.

-O-O
Disattiva determinate caratteristiche di osql in modo che il funzionamento dell'utilità corrisponda a quello delle precedenti versioni di isql.Specifies that certain osql features be deactivated to match the behavior of earlier versions of isql. Vengono disattivate le funzionalità seguenti:These features are deactivated:

  • Elaborazione batch EOFEOF batch processing

  • Adattamento automatico della larghezza della consoleAutomatic console width scaling

  • Messaggi estesiWide messages

    L'opzione imposta inoltre il valore predefinito di DOS ERRORLEVEL su -1.It also sets the default DOS ERRORLEVEL value to -1.

Nota

L'utilità -n, -O e -D non sono più supportate da osql.The -n, -O and -D options are no longer supported by osql.

OsservazioniRemarks

L'utilità osql viene avviata direttamente dal sistema operativo con le opzioni elencate di seguito per le quali la distinzione tra maiuscole e minuscole è rilevante.The osql utility is started directly from the operating system with the case-sensitive options listed here. Dopo l'avvio, osqlaccetta istruzioni SQL e le invia a SQL ServerSQL Server in modo interattivo.After osqlstarts, it accepts SQL statements and sends them to SQL ServerSQL Server interactively. I risultati vengono formattati e visualizzati sullo schermo (stdout).The results are formatted and displayed on the screen (stdout). Per uscire da osqlusare QUIT o EXIT.Use QUIT or EXIT to exit from osql.

Se all'avvio di osqlnon si specifica un nome utente, SQL ServerSQL Server verifica le variabili di ambiente e usa tali valori, ad esempio osqluser=(utente) o osqlserver=(server).If you do not specify a user name when you start osql, SQL ServerSQL Server checks for the environment variables and uses those, for example, osqluser=(user) or osqlserver=(server). Se non sono state impostate variabili di ambiente, viene utilizzato il nome utente della workstation.If no environment variables are set, the workstation user name is used. Se non si specifica un server, viene utilizzato il nome della workstation.If you do not specify a server, the name of the workstation is used.

Se non si specifica l'opzione -U né l'opzione -P , SQL ServerSQL Server cerca di stabilire la connessione tramite la modalità di autenticazione di MicrosoftMicrosoft Windows.If neither the -U or -P options are used, SQL ServerSQL Server attempts to connect using MicrosoftMicrosoft Windows Authentication Mode. L'autenticazione si basa sull'account di MicrosoftMicrosoft Windows dell'utente che esegue osql.Authentication is based on the MicrosoftMicrosoft Windows account of the user running osql.

L'utilità osql usa l'API ODBC.The osql utility uses the ODBC API. Le impostazioni predefinite del driver ODBC di SQL ServerSQL Server per le opzioni di connessione ISO di SQL ServerSQL Server .The utility uses the SQL ServerSQL Server ODBC driver default settings for the SQL ServerSQL Server ISO connection options. Per ulteriori informazioni, vedere Effects of ANSI Options (informazioni in lingua inglese).For more information, see Effects of ANSI Options.

Nota

L'utilità osql non supporta i tipi di dati CLR definiti dall'utente.The osql utility does not support CLR user-defined data types. Per elaborare questi tipi di dati, è necessario usare l'utilità sqlcmd .To process these data types, you must use the sqlcmd utility. Per altre informazioni, vedere sqlcmd Utility.For more information, see sqlcmd Utility.

Comandi OSQLOSQL Commands

Oltre alle istruzioni Transact-SQLTransact-SQL all'interno di osql, sono disponibili anche i comandi seguenti.In addition to Transact-SQLTransact-SQL statements within osql, these commands are also available.

CommandCommand DescrizioneDescription
GOGO Esegue tutte le istruzioni immesse dopo l'ultimo comando GO.Executes all statements entered after the last GO.
RESETRESET Cancella tutte le istruzioni immesse.Clears any statements you have entered.
QUIT o EXIT( )QUIT or EXIT( ) Consente di uscire da osql.Exits from osql.
CTRL+CCTRL+C Termina una query senza uscire da osql.Ends a query without exiting from osql.

Nota

I comandi !!The !! ed ED non sono più supportati da osql.and ED commands are no longer supported by osql.

I caratteri di terminazione dei comandi GO (predefinito), RESET, EXIT, QUIT e CTRL+C vengono riconosciuti solo se specificati all'inizio della riga, subito dopo il prompt osql .The command terminators GO (by default), RESET EXIT, QUIT, and CTRL+C, are recognized only if they appear at the beginning of a line, immediately following the osql prompt.

GO indica sia la fine di un batch che l'esecuzione di eventuali istruzioni Transact-SQLTransact-SQL memorizzate nella cache.GO signals both the end of a batch and the execution of any cached Transact-SQLTransact-SQL statements. Quando si preme INVIO alla fine di ogni riga di input, osql memorizza nella cache le istruzioni della riga.When you press ENTER at the end of each input line, osql caches the statements on that line. Quando si preme INVIO dopo aver digitato GO, tutte le istruzioni memorizzate nella cache vengono inviate in batch a SQL ServerSQL Server.When you press ENTER after typing GO, all of the currently cached statements are sent as a batch to SQL ServerSQL Server.

La versione corrente dell'utilità osql funziona come se alla fine di tutti gli script eseguiti fosse presente un comando GO implicito. Di conseguenza vengono eseguite tutte le istruzioni dello script.The current osql utility works as if there is an implied GO at the end of any script executed, therefore all statements in the script execute.

Terminare un comando digitando una riga che inizia con un carattere di terminazione del comando.End a command by typing a line beginning with a command terminator. Per specificare quante volte eseguire il comando, digitare un numero dopo il carattere di terminazione.You can follow the command terminator with an integer to specify how many times the command should be run. Ad esempio, per eseguire il comando seguente 100 volte, digitare:For example, to execute this command 100 times, type:

SELECT x = 1  
GO 100  

I risultati vengono stampati solo una volta al termine dell'esecuzione.The results are printed once at the end of execution. osql non accetta più di 1.000 caratteri per riga.osql does not accept more than 1,000 characters per line. Le istruzioni di grandi dimensioni devono essere suddivise su più righe.Large statements should be spread across multiple lines.

Le funzionalità per la chiamata di comandi di Windows consentono di richiamare e modificare le istruzioni osql .The command recall facilities of Windows can be used to recall and modify osql statements. Per cancellare il buffer di query esistente digitare RESET.The existing query buffer can be cleared by typing RESET.

Durante l'esecuzione di stored procedure, osql stampa una riga vuota tra ogni set di risultati di un batch.When running stored procedures, osql prints a blank line between each set of results in a batch. Inoltre, il messaggio "Righe interessate: 0" non viene visualizzato se non è riferibile all'istruzione eseguita.In addition, the "0 rows affected" message does not appear when it does not apply to the statement executed.

Uso interattivo di osqlUsing osql Interactively

Per usare osql interattivamente, al prompt dei comandi digitare il comando osql e le opzioni desiderate.To use osql interactively, type the osql command (and any of the options) at a command prompt.

Per leggere un file contenente una query, ad esempio Stores.qry, da eseguire con osql , digitare un comando analogo al seguente:You can read in a file containing a query (such as Stores.qry) for execution by osql by typing a command similar to this:

osql -E -i stores.qry  

Per leggere un file contenente una query, ad esempio Titles.qry, e indirizzare i risultati a un altro file, digitare un comando simile al seguente:You can read in a file containing a query (such as Titles.qry) and direct the results to another file by typing a command similar to this:

osql -E -i titles.qry -o titles.res  

Importante

Se possibile, usare l'opzione -E(connessione trusted).When possible, use the -Eoption (trusted connection).

Quando si usa osql interattivamente, è possibile leggere un file del sistema operativo nel buffer dei comandi mediante :rfile_name.When using osql interactively, you can read an operating-system file into the command buffer with :rfile_name. In questo modo lo script SQL in file_name viene inviato direttamente al server come batch singolo.This sends the SQL script in file_name directly to the server as a single batch.

Nota

Quando si usa osql, in SQL ServerSQL Server la presenza del separatore di batch GO in un file script SQL viene considerata un errore di sintassi.When using osql, SQL ServerSQL Server treats the batch separator GO, if it appears in a SQL script file, as a syntax error.

Inserimento di commentiInserting Comments

L'utilità SQL ServerSQL Server osql consente di inserire commenti in un'istruzione Transact-SQL inviata a.You can include comments in a Transact-SQL statement submitted to SQL ServerSQL Server by osql. Sono supportati due tipi di indicatori di commento: -- and /...*/.Two types of commenting styles are allowed: -- and /...*/.

Utilizzo di EXIT per la restituzione dei risultati in osqlUsing EXIT to Return Results in osql

Il risultato di un'istruzione SELECT può essere usato come valore restituito da osql.You can use the result of a SELECT statement as the return value from osql. Se numerica, l'ultima colonna dell'ultima riga di risultati viene convertita in un valore integer di 4 byte (long).If it is numeric, the last column of the last result row is converted to a 4-byte integer (long). MS-DOS passa il byte di ordine inferiore al processo padre o al livello di errore del sistema operativo.MS-DOS passes the low byte to the parent process or operating system error level. Windows passa l'intero valore intero di 4 byte.Windows passes the entire 4-byte integer. La sintassi è:The syntax is:

EXIT ( < query > )  

Esempio:For example:

EXIT(SELECT @@ROWCOUNT)  

È inoltre possibile includere il parametro EXIT in un file batch.You can also include the EXIT parameter as part of a batch file. Esempio:For example:

osql -E -Q "EXIT(SELECT COUNT(*) FROM '%1')"  

L'utilità osql passa al server tutti gli elementi racchiusi tra parentesi () senza modificarli.The osql utility passes everything between the parentheses () to the server exactly as entered. Se una stored procedure di sistema seleziona un set e restituisce un valore, viene restituita solo la selezione.If a stored system procedure selects a set and returns a value, only the selection is returned. Se non si specifica alcun elemento tra le parentesi dell'istruzione EXIT() , viene eseguito tutto ciò che la precede nel batch e l'operazione viene quindi terminata senza restituire alcun valore.The EXIT() statement with nothing between the parentheses executes everything preceding it in the batch and then exits with no return value.

L'istruzione EXIT può avere quattro formati:There are four EXIT formats:

  • EXITEXIT

Nota

L'utilità non esegue il batch, viene chiusa immediatamente e non restituisce alcun valore.Does not execute the batch; quits immediately and returns no value.

  • EXIT()EXIT()

Nota

L'utilità esegue il batch, viene chiusa e non restituisce alcun valore.Executes the batch, and then quits and returns no value.

  • EXIT(query)EXIT(query)

Nota

L'utilità esegue il batch, inclusa la query, quindi viene chiusa dopo aver restituito i risultati della query.Executes the batch, including the query, and then quits after returning the results of the query.

  • RAISERROR con stato 127.RAISERROR with a state of 127

Nota

Se in uno script osql si usa RAISERROR e viene generato un errore con stato 127, l'utilità osql viene chiusa e al client viene restituito l'ID di messaggio.If RAISERROR is used within an osql script and a state of 127 is raised, osql will quit and return the message ID back to the client. Esempio:For example:

RAISERROR(50001, 10, 127)  

Questo errore provoca l'interruzione dello script osql e la restituzione dell'ID di messaggio 50001 al client.This error will cause the osql script to end and the message ID 50001 will be returned to the client.

I valori restituiti compresi tra -1 e -99 sono riservati a SQL ServerSQL Server. In osql vengono usati i valori seguenti:The return values -1 to -99 are reserved by SQL ServerSQL Server; osql defines these values:

  • -100-100

    Si è verificato un errore prima di selezionare il valore restituito.Error encountered prior to selecting return value.

  • -101-101

    Selezionando il valore restituito non si sono trovate righe.No rows found when selecting return value.

  • -102-102

    Si è verificato un errore di conversione durante la selezione del valore restituito.Conversion error occurred when selecting return value.

Visualizzazione dei tipi di dati money e smallmoneyDisplaying money and smallmoney Data Types

osql visualizza i tipi di dati money e smallmoney con due cifre decimali sebbene in SQL ServerSQL Server il valore venga archiviato internamente con quattro cifre decimali.osql displays the money and smallmoney data types with two decimal places although SQL ServerSQL Server stores the value internally with four decimal places. Si consideri l'esempio seguente:Consider the example:

SELECT CAST(CAST(10.3496 AS money) AS decimal(6, 4))  
GO  

Questa istruzione restituisce il risultato 10.3496, che indica che il valore viene archiviato con tutte le cifre decimali.This statement produces a result of 10.3496, which indicates that the value is stored with all decimal places intact.

Vedere ancheSee Also

Commento (MDX) Comment (MDX)
-( Commento ) ( MDX ) -- (Comment) (MDX)
CAST e CONVERT ( Transact-SQL ) CAST and CONVERT (Transact-SQL)
RAISERROR ( Transact-SQL )RAISERROR (Transact-SQL)