Utilitário osqlosql Utility

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure simAzure Synapse Analytics (SQL DW) simParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

O utilitário osql permite inserir instruções Transact-SQLTransact-SQL , procedimentos de sistema e arquivos de script.The osql utility allows you to enter Transact-SQLTransact-SQL statements, system procedures, and script files. Esse utilitário usa o ODBC para comunicar-se com o servidor.This utility uses ODBC to communicate with the server.

Importante

Esse recurso será removido em uma versão futura do SQL ServerSQL Server.This feature will be removed in a future version of SQL ServerSQL Server. Evite usar esse recurso em novo trabalho de desenvolvimento e planeje modificar os aplicativos que utilizam o recurso atualmente.Avoid using this feature in new development work, and plan to modify applications that currently use the feature. Use sqlcmd em vez disso.Use sqlcmd instead. Para saber mais, confira sqlcmd Utility.For more information, see sqlcmd Utility.

SintaxeSyntax

  
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]  
]  

ArgumentosArguments

-?-?
Exibe o resumo da sintaxe de opções osql .Displays the syntax summary of osql switches.

-L-L
Lista os servidores configurados localmente e os nomes dos servidores que estão transmitindo na rede.Lists the locally configured servers and the names of the servers broadcasting on the network.

Observação

Devido à natureza da transmissão em redes, o osql pode não receber a tempo uma resposta de todos os servidores.Due to the nature of broadcasting on networks, osql may not receive a timely response from all servers. Assim, a lista de servidores retornada pode variar para cada invocação dessa opção.Therefore the list of servers returned may vary for each invocation of this option.

-U login_id-U login_id
É a identificação de logon do usuário.Is the user login ID. IDs de logon diferenciam maiúsculas de minúsculas.Login IDs are case-sensitive.

-P password-P password
É uma senha especificada pelo usuário.Is a user-specified password. Se a opção -P não for usada, o osql solicitará a senha.If the -P option is not used, osql prompts for a password. Se a opção -P for usada ao término do prompt de comando sem uma senha, osql usará a senha padrão (NULL).If the -P option is used at the end of the command prompt without any password, osql uses the default password (NULL).

Importante

Não use uma senha em branco.Do not use a blank password. Use uma senha forte.Use a strong password. Para saber mais, confira Strong Passwords.For more information, see Strong Passwords.

As senhas diferenciam maiúsculas de minúsculas.Passwords are case-sensitive.

A variável de ambiente OSQLPASSWORD permite definir uma senha padrão para a sessão atual.The OSQLPASSWORD environment variable allows you to set a default password for the current session. Assim, senhas não têm de ser codificadas em arquivos em lote.Therefore, you do not have to hard code a password into batch files.

Se você não especificar uma senha com a opção -P , osql verificará primeiro a variável OSQLPASSWORD.If you do not specify a password with the -P option, osql first checks for the OSQLPASSWORD variable. Se nenhum valor for definido, o osql usará a senha padrão, NULL.If no value is set, osql uses the default password, NULL. O exemplo seguinte define a variável OSQLPASSWORD em um prompt de comando e então acessa o utilitário 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

Para mascarar a senha, não especifique a opção -P juntamente com a opção -U .To mask your password, do not specify the -P option along with the -U option. Em vez disso, depois de especificar o osql juntamente com a opção -U e outras opções (não especificar -P), pressione ENTER e o osql solicitará uma senha.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. Esse método garante que sua senha será mascarada quando for inserida.This method ensures that your password will be masked when it is entered.

-E-E
Usa uma conexão confiável em vez de pedir uma senha.Uses a trusted connection instead of requesting a password.

-S server_name[ \ instance_name]-S server_name[ \instance_name]
Especifica uma instância do SQL ServerSQL Server a qual se conectar.Specifies the instance of SQL ServerSQL Server to connect to. Especifica server_name para a conexão com a instância padrão do SQL ServerSQL Server nesse servidor.Specify server_name to connect to the default instance of SQL ServerSQL Server on that server. Especifica server_name \ instance_name para conectar-se a uma instância nomeada do SQL ServerSQL Server nesse servidor.Specify server_name\instance_name to connect to a named instance of SQL ServerSQL Server on that server. Se nenhum servidor for especificado, o osql se conectará à instância padrão do SQL ServerSQL Server no computador local.If no server is specified, osql connects to the default instance of SQL ServerSQL Server on the local computer. Essa opção é obrigatória quando o osql é executado de um computador remoto na rede.This option is required when executing osql from a remote computer on the network.

-H wksta_name-H wksta_name
É um nome de estação de trabalho.Is a workstation name. O nome de estação de trabalho é armazenado em sysprocesses.hostname e exibido por sp_who.The workstation name is stored in sysprocesses.hostname and is displayed by sp_who. Se essa opção não for especificada, o nome do computador atual será presumido.If this option is not specified, the current computer name is assumed.

-d db_name-d db_name
Emite uma instrução USE db_name quando osqlé iniciado.Issues a USE db_name statement when osqlis started.

-l time_out-l time_out
Especifica o número de segundos antes de um logon do osql expirar. O tempo limite padrão de logon do osql é de oito segundos.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
Especifica o número de segundos antes de um comando expirar. Se não for especificado um valor de time_out , os comandos não vão atingir o tempo limite.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
Especifica o número de linhas a imprimir entre cabeçalhos de coluna.Specifies the number of rows to print between column headings. O padrão é imprimir títulos uma vez para cada conjunto de resultados de consulta.The default is to print headings one time for each set of query results. Use -1 para especificar que nenhum cabeçalho será impresso.Use -1 to specify that no headers will be printed. Se -1 for usado, não deverá haver nenhum espaço entre o parâmetro e a configuração ( -h-1, não -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
Especifica o caractere do separador de colunas que, por padrão, é um espaço em branco.Specifies the column-separator character, which is a blank space by default. Para usar um caractere com um significado especial para o sistema operacional como, por exemplo, | ; & < >), coloque-o entre aspas duplas (").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
Permite ao usuário definir a largura da tela de saída.Allows the user to set the screen width for output. O padrão é 80 caracteres.The default is 80 characters. Quando uma linha de saída alcança sua largura de tela máxima, ela é quebrada em várias linhas.When an output line has reached its maximum screen width, it is broken into multiple lines.

-a packet_size-a packet_size
Permite solicitar um pacote de tamanho diferente.Allows you to request a different-sized packet. Os valores válidos para packet_size são 512 a 65.535.The valid values for packet_size are 512 through 65535. O valor padrão osql é o padrão do servidor.The default value osql is the server default. Um tamanho de pacote maior pode aumentar o desempenho na execução de scripts maiores, em que a quantidade de instruções SQL entre comandos GO é substancial.Increased packet size can enhance performance on larger script execution where the amount of SQL statements between GO commands is substantial. MicrosoftMicrosoft indicam que 8192 geralmente é a configuração mais rápida para operações de cópia em massa.testing indicates that 8192 is typically the fastest setting for bulk copy operations. Um tamanho de pacote maior pode ser solicitado, mas o osql assumirá como padrão o padrão do servidor se a solicitação não puder ser atendida.A larger packet size can be requested, but osql defaults to the server default if the request cannot be granted.

-e-e
Duplica a entrada.Echoes input.

-I-I
Ativa a opção de conexão QUOTED_IDENTIFIER.Sets the QUOTED_IDENTIFIER connection option on.

-D data_source_name-D data_source_name
Conecta-se a uma fonte de dados ODBC que é definida usando o driver ODBC do SQL ServerSQL Server.Connects to an ODBC data source that is defined using the ODBC driver for SQL ServerSQL Server. A conexão osql usa as opções especificadas na fonte de dados.The osql connection uses the options specified in the data source.

Observação

Essa opção não trabalha com fontes de dados definidas para outros drivers.This option does not work with data sources defined for other drivers.

-c cmd_end-c cmd_end
Especifica o terminador de comando.Specifies the command terminator. Por padrão, comandos são encerrados e enviados ao SQL ServerSQL Server se GO for inserido sozinho em uma linha.By default, commands are terminated and sent to SQL ServerSQL Server by entering GO on a line by itself. Quando você redefinir o terminador de comando, não use palavras reservadas do Transact-SQLTransact-SQL nem caracteres que tenham significado especial para o sistema operacional, sejam ou não precedidos por uma barra invertida.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 "
Executa uma consulta quando o osql é iniciado, mas não encerra o osql quando a consulta é concluída.Executes a query when osql starts, but does not exit osql when the query completes. (Observe que a instrução de consulta não deve incluir a instrução GO).(Note that the query statement should not include GO). Se você emitir uma consulta de um arquivo em lote, use %variáveis ou %variáveis% de ambiente.If you issue a query from a batch file, use %variables, or environment %variables%. Por exemplo:For example:

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

Coloque a consulta entre aspas duplas e qualquer coisa incorporada na consulta entre aspas simples.Use double quotation marks around the query and single quotation marks around anything embedded in the query.

-Q" query "-Q" query "
Executa uma consulta e imediatamente encerra o osql.Executes a query and immediately exits osql. Coloque a consulta entre aspas duplas e qualquer coisa incorporada na consulta entre aspas simples.Use double quotation marks around the query and single quotation marks around anything embedded in the query.

-n-n
Remove a numeração e o símbolo de prompt (>) das linhas de entrada.Removes numbering and the prompt symbol (>) from input lines.

-m error_level-m error_level
Personaliza a exibição de mensagens de erro.Customizes the display of error messages. São exibidos o número da mensagem, o estado e o nível de erros com o nível de severidade especificado ou superior.The message number, state, and error level are displayed for errors of the specified severity level or higher. Nada é exibido para erros de níveis abaixo do nível especificado.Nothing is displayed for errors of levels lower than the specified level. Use -1 para especificar que todos os cabeçalhos retornem com mensagens, até mesmo mensagens informativas.Use -1 to specify that all headers are returned with messages, even informational messages. Se -1for usado, não deverá haver espaço entre o parâmetro e a configuração ( -m-1, não -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}
Redireciona a saída da mensagem para a tela (stderr).Redirects message output to the screen (stderr). Se você não especificar um parâmetro ou especificar 0, serão redirecionadas somente mensagens de erro com nível de severidade 11 ou superior.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 você especificar 1, serão redirecionadas todas as saídas da mensagem, incluindo “print”.If you specify 1, all message output (including "print") is redirected.

-i input_file-i input_file
Identifica o arquivo que contém um lote de instruções SQL ou procedimentos armazenados.Identifies the file that contains a batch of SQL statements or stored procedures. O operador de comparação menor que ( < ) pode ser usado no lugar de -i.The less than (<) comparison operator can be used in place of -i.

-o output_file-o output_file
Identifica o arquivo que recebe a saída do osql.Identifies the file that receives output from osql. O operador de comparação maior que ( > ) pode ser usado no lugar de -o.The greater than (>) comparison operator can be used in place of -o.

Se input_file não for Unicode e -u não for especificado, output_file será armazenado no formato OEM.If input_file is not Unicode and -u is not specified, output_file is stored in OEM format. Se input_file for Unicode ou -u for especificado, output_file será armazenado em formato Unicode.If input_file is Unicode or -u is specified, output_file is stored in Unicode format.

-p-p
Imprime estatísticas de desempenho.Prints performance statistics.

-b-b
Especifica que o osql é encerrado e retorna um valor DOS ERRORLEVEL em caso de erro.Specifies that osql exits and returns a DOS ERRORLEVEL value when an error occurs. O valor retornado à variável DOS ERRORLEVEL será 1 quando a mensagem de erro do SQL ServerSQL Server tiver um nível de severidade de 11 ou superior, caso contrário, o valor retornado será 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 Arquivos em lote do MS-DOS podem testar o valor de DOS ERRORLEVEL e tratar o erro adequadamente.MS-DOS batch files can test the value of DOS ERRORLEVEL and handle the error appropriately.

-u-u
Especificar que output_file será armazenado em formato Unicode, independentemente do formato de input_file.Specifies that output_file is stored in Unicode format, regardless of the format of the input_file.

-R-R
Especifica que o driver ODBC do SQL ServerSQL Server usa configurações de cliente ao converter dados de moeda, data e hora em dados de caractere.Specifies that the SQL ServerSQL Server ODBC driver use client settings when converting currency, date, and time data to character data.

-O-O
Especifica que certos recursos do osql sejam desativados para corresponder ao comportamento de versões anteriores do isql.Specifies that certain osql features be deactivated to match the behavior of earlier versions of isql. Estes recursos são desativados:These features are deactivated:

  • Processamento em lote de EOFEOF batch processing

  • Escalonamento automático da largura do consoleAutomatic console width scaling

  • Mensagens largasWide messages

Também define o valor DOS ERRORLEVEL padrão como -1.It also sets the default DOS ERRORLEVEL value to -1.

Observação

As opções -n, -O e -D já não têm suporte do osql.The -n, -O and -D options are no longer supported by osql.

ComentáriosRemarks

O utilitário osql é iniciado diretamente do sistema operacional com as opções que diferenciam maiúsculas de minúsculas listadas aqui.The osql utility is started directly from the operating system with the case-sensitive options listed here. Depois que o osqlé iniciado, ele aceita instruções SQL e as envia interativamente ao SQL ServerSQL Server .After osqlstarts, it accepts SQL statements and sends them to SQL ServerSQL Server interactively. Os resultados são formatados e exibidos na tela (stdout).The results are formatted and displayed on the screen (stdout). Use QUIT ou EXIT para sair do osql.Use QUIT or EXIT to exit from osql.

Se você não especificar um nome de usuário ao iniciar o osql, o SQL ServerSQL Server fará a verificação e usará variáveis de ambiente, como osqluser=( user ) ou 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 nenhuma variável de ambiente for definida, o nome de usuário da estação de trabalho será usado.If no environment variables are set, the workstation user name is used. Se você não especificar um servidor, o nome da estação de trabalho será usado.If you do not specify a server, the name of the workstation is used.

Se as opções -U ou -P não forem usadas, o SQL ServerSQL Server tentará conectar usando o Modo de Autenticação do MicrosoftMicrosoft Windows.If neither the -U or -P options are used, SQL ServerSQL Server attempts to connect using MicrosoftMicrosoft Windows Authentication Mode. A autenticação baseia-se na conta do MicrosoftMicrosoft Windows do usuário que está executando o osql.Authentication is based on the MicrosoftMicrosoft Windows account of the user running osql.

O utilitário osql usa a API ODBC.The osql utility uses the ODBC API. O utilitário usa as configurações padrão do driver ODBC do SQL ServerSQL Server para as opções de conexão ISO do SQL ServerSQL Server .The utility uses the SQL ServerSQL Server ODBC driver default settings for the SQL ServerSQL Server ISO connection options. Para obter mais informações, consulte Efeitos de Opções ANSI.For more information, see Effects of ANSI Options.

Observação

O utilitário osql não dá suporte a tipos de dados CLR definidos pelo usuário.The osql utility does not support CLR user-defined data types. Para processar esses tipos de dados, você deve usar o utilitário sqlcmd .To process these data types, you must use the sqlcmd utility. Para saber mais, confira sqlcmd Utility.For more information, see sqlcmd Utility.

Comandos OSQLOSQL Commands

Além das instruções Transact-SQLTransact-SQL dentro do osql, os comandos a seguir também estão disponíveis.In addition to Transact-SQLTransact-SQL statements within osql, these commands are also available.

ComandoCommand DescriçãoDescription
GOGO Executa todas as instruções inseridas depois do último GO.Executes all statements entered after the last GO.
RESETRESET Apaga as instruções inseridas.Clears any statements you have entered.
QUIT ou EXIT( )QUIT or EXIT( ) Sai do osql.Exits from osql.
CTRL+CCTRL+C Finaliza uma consulta sem sair do osql.Ends a query without exiting from osql.

Observação

Os comandos !!The !! e ED não têm mais suporte no osql.and ED commands are no longer supported by osql.

Os terminadores de comando GO (por padrão), RESET EXIT, QUIT e CTRL+C só serão reconhecidos se forem exibidos no início de uma linha, imediatamente após o prompt do 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 sinaliza tanto o término de um lote quanto a execução de qualquer instrução de cachê do Transact-SQLTransact-SQL .GO signals both the end of a batch and the execution of any cached Transact-SQLTransact-SQL statements. Quando você pressiona ENTER ao término de cada linha de entrada, o osql armazena as instruções nessa linha em cache.When you press ENTER at the end of each input line, osql caches the statements on that line. Quando você pressiona ENTER depois de digitar GO, todas as instruções atualmente em cache são enviadas como um lote ao 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.

O utilitário osql atual funciona como se houvesse um comando GO implícito ao final de qualquer script executado, portanto todas as instruções no script são executadas.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.

Termine um comando digitando um começo de linha com um terminador de comando.End a command by typing a line beginning with a command terminator. Você pode seguir o terminador de comando com um inteiro para especificar quantas vezes o comando deve ser executado.You can follow the command terminator with an integer to specify how many times the command should be run. Por exemplo, para executar esse comando 100 vezes, digite:For example, to execute this command 100 times, type:

SELECT x = 1  
GO 100  

Os resultados são impressos após o término de execução.The results are printed once at the end of execution. Oosql não aceita mais de 1.000 caracteres por linha.osql does not accept more than 1,000 characters per line. Instruções grandes devem ser divididas em várias linhas.Large statements should be spread across multiple lines.

Os recursos de recall de comando do Windows podem ser usados para chamar novamente e modificar instruções osql .The command recall facilities of Windows can be used to recall and modify osql statements. O buffer de consulta existente pode ser desmarcado digitando RESET.The existing query buffer can be cleared by typing RESET.

Ao executar procedimentos armazenados, o osql imprime uma linha em branco entre cada conjunto de resultados em um lote.When running stored procedures, osql prints a blank line between each set of results in a batch. Além disso, a mensagem "0 linhas afetadas" não aparece quando não se aplica à instrução executada.In addition, the "0 rows affected" message does not appear when it does not apply to the statement executed.

Usando o osql interativamenteUsing osql Interactively

Para usar o osql interativamente, digite o comando osql (e qualquer uma das opções) em um prompt de comando.To use osql interactively, type the osql command (and any of the options) at a command prompt.

Você pode ler em um arquivo contendo uma consulta (como Stores.qry) para execução pelo osql digitando um comando semelhante a este: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  

Você pode ler em um arquivo contendo uma consulta (como Titles.qry) e direcionar os resultados a outro arquivo digitando um comando semelhante a este: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

Quando possível, use a opção -E(conexão de confiança).When possible, use the -Eoption (trusted connection).

Ao usar o osql interativamente, você pode ler um arquivo do sistema operacional no buffer de comandos com :rfile_name.When using osql interactively, you can read an operating-system file into the command buffer with :rfile_name. Isso envia o script SQL no file_name diretamente para o servidor como um único lote.This sends the SQL script in file_name directly to the server as a single batch.

Observação

Ao usar o osql, o SQL ServerSQL Server trata o separador em lote GO, se ele for exibido em um arquivo de script SQL, como um erro de sintaxe.When using osql, SQL ServerSQL Server treats the batch separator GO, if it appears in a SQL script file, as a syntax error.

Inserindo comentáriosInserting Comments

Você pode incluir comentários em uma instrução Transact-SQL enviada ao SQL ServerSQL Server pelo osql.You can include comments in a Transact-SQL statement submitted to SQL ServerSQL Server by osql. São permitidos dois tipos de estilos de comentário: -- e /*...*/.Two types of commenting styles are allowed: -- and /*...*/.

Usando EXIT para retornar resultados no osqlUsing EXIT to Return Results in osql

Você pode usar o resultado de uma instrução SELECT como o valor de retorno do osql.You can use the result of a SELECT statement as the return value from osql. Se ele for numérico, a última coluna da última linha do resultado será convertida em um inteiro de 4 bytes (longo).If it is numeric, the last column of the last result row is converted to a 4-byte integer (long). O MS-DOS transmite o byte baixo para o processo pai ou nível de erro do sistema operacional.MS-DOS passes the low byte to the parent process or operating system error level. O Windows passa o número inteiro de 4 bytes.Windows passes the entire 4-byte integer. A sintaxe do é:The syntax is:

EXIT ( < query > )  

Por exemplo:For example:

EXIT(SELECT @@ROWCOUNT)  

É possível incluir também o parâmetro EXIT como parte de um arquivo em lote.You can also include the EXIT parameter as part of a batch file. Por exemplo:For example:

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

O utilitário osql passa tudo entre os parênteses () para o servidor exatamente como digitado.The osql utility passes everything between the parentheses () to the server exactly as entered. Se um procedimento de sistema armazenado selecionar um conjunto e retornar um valor, somente a seleção será retornada.If a stored system procedure selects a set and returns a value, only the selection is returned. A instrução EXIT () sem nada entre os parênteses executa tudo que a precede no lote e é encerrada sem valor retornado.The EXIT () statement with nothing between the parentheses executes everything preceding it in the batch and then exits with no return value.

Há quatro formatos EXIT:There are four EXIT formats:

  • EXITEXIT

Observação

Não executa o lote; sai imediatamente e não retorna valor algum.Does not execute the batch; quits immediately and returns no value.

  • EXIT ()EXIT ()

Observação

Executa o lote e então sai imediatamente e não retorna valor algum.Executes the batch, and then quits and returns no value.

  • EXIT ( query )EXIT (query)

Observação

Executa o lote, incluindo a consulta, e sai depois de retornar os resultados da consulta.Executes the batch, including the query, and then quits after returning the results of the query.

  • RAISERROR com estado de 127RAISERROR with a state of 127

Observação

Se for usado RAISERROR em um script osql e ocorrer um estado 127, o osql sairá e retornará a ID da mensagem para o cliente.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. Por exemplo:For example:

RAISERROR(50001, 10, 127)  

Esse erro fará com que o script osql seja encerrado e retorne a ID da mensagem 50001 ao cliente.This error will cause the osql script to end and the message ID 50001 will be returned to the client.

Os valores de retorno de -1 a -99 são reservados pelo SQL ServerSQL Server; o osql define estes valores:The return values -1 to -99 are reserved by SQL ServerSQL Server; osql defines these values:

  • -100-100

    Erro encontrado antes da seleção do valor de retorno.Error encountered prior to selecting return value.

  • -101-101

    Nenhuma linha encontrada ao se selecionar o valor de retorno.No rows found when selecting return value.

  • -102-102

    Erro de conversão ao selecionar valor de retorno.Conversion error occurred when selecting return value.

Exibindo Tipos de Dados money e smallmoneyDisplaying money and smallmoney Data Types

Oosql exibe os tipos de dados money e smallmoney com duas casas decimais, embora o SQL ServerSQL Server armazene o valor internamente com quatro casas decimais.osql displays the money and smallmoney data types with two decimal places although SQL ServerSQL Server stores the value internally with four decimal places. Considere o exemplo:Consider the example:

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

Essa instrução produz um resultado de 10.3496, que indica que o valor é armazenado com todas as casas decimais intactas.This statement produces a result of 10.3496, which indicates that the value is stored with all decimal places intact.

Consulte TambémSee Also

Comentário (MDX) Comment (MDX)
-- (Comment) (MDX) -- (Comment) (MDX)
CAST e CONVERT (Transact-SQL) CAST and CONVERT (Transact-SQL)
RAISERROR (Transact-SQL)RAISERROR (Transact-SQL)