Professional Documents
Culture Documents
novatec
www.novatec1.co
www.novateceditora.com.br
Novatec Editora
Guia de Consulta Rpida SQL Server 7 Transact-SQL de Renato Piques e Rubens Prates.
Todos os direitos reservados. proibida a reproduo dessa obra, mesmo parcial, por qualquer processo, sem prvia autorizao, por escrito, dos autores e da Editora.
ISBN: 85-85184-70-1
Novatec Editora Ltda. Rua Cons. Moreira de Barros 1084 Conj. 01 02018-012 So Paulo - SP Brasil Fone: (0xx11) 6959-6529 Fax: (0xx11) 6950-8869 E-mail: novatec@novateceditora.com.br Site: www.novateceditora.com.br
Sumrio
Comandos SQL .................................................................. 5 Comandos DBCC ............................................................ 62 Comandos SET ................................................................ 73 Funes de Agregao ..................................................... 81 Funes de Configurao ................................................ 83 Funes de Cursor ........................................................... 85 Funes de Data e Hora ................................................... 86 Funes Matemticas ....................................................... 88 Funes Metadata ............................................................ 91 Funes de Segurana ...................................................... 98 Funes String ............................................................... 100 Funes do Sistema ....................................................... 103 Funes de Estatstica do Sistema ................................. 107 Funes de Texto e Imagem .......................................... 108 Operadores ..................................................................... 109 Operadores Aritmticos ........................................... 109 Operadores Bitwise .................................................. 109 Operadores de Comparao ..................................... 110 Operadores Lgicos ................................................. 111 Operadores Unrios ................................................. 112 Nveis de Precedncia de Operadores ..................... 112 Tipos de Dados do SQL Server ..................................... 116 Inteiros (integer) ...................................................... 116 Numricos ................................................................ 116 Dados Monetrios .................................................... 116 Numricos Aproximados ......................................... 117 Datetime and Smalldatetime .................................... 117 Strings de Caracteres ............................................... 117 Strings de Caracteres Unicode ................................. 118 Strings Binrios ........................................................ 118 Sinnimos ................................................................ 118 Constantes e Identificadores .......................................... 119 Palavras reservadas ........................................................ 120 Site Oficial do SQL Server 7 ......................................... 121 Notao Utilizada neste Guia ........................................ 121 Novatec na Internet ........................................................ 121 ndice ............................................................................. 122
Comandos
Comandos SQL
Comentrios
Insere um comentrio em qualquer lugar de um comando SQL. Dois estilos de comentrios so aceitos: estilo Transact-SQL (/* ...*/) e estilo padro ANSI (--).
/* texto_do_comentrio */ ou -- texto_do_comentrio ALTER DATABASE
Argumento
banco_dados ADD FILE TO FILEGROUP
Descrio
Nome do banco de dados a ser alterado. Nome do arquivo a ser adicionado. Filegroup no qual o arquivo ser adicionado. Se nenhum for especificado, ser adicionado ao filegroup padro (PRIMARY). Nome do arquivo de log a ser adicionado ao banco de dados. Remove um arquivo do banco de dados. O arquivo dever estar vazio antes de ser removido. Filegroup a ser adicionado ao banco de dados.
ADD FILEGROUP
Comandos REMOVE FILEGROUP Remove um filegroup do banco de dados. MODIFY FILE Permite alterar as propriedades de um arquivo, incluindo suas opes FILENAME, SIZE, FILEGROWTH, e MAXSIZE. Permite alterar as propriedades de um filegroup (READONLY, READWRITE e DEFAULT). Especifica que o filegroup read-only. Atualizaes nos objetos do filegroup no sero permitidas. Reverte a propriedade READONLY. Atualizaes nos objetos do filegroup sero permitidas. Filegroup default para o banco de dados. Nome lgico do arquivo. Nome fsico do arquivo. Tamanho do arquivo. Os sufixos MB e KB podem ser utilizados para especificar megabytes ou kilobytes (default=1MB). Tamanho mximo que o arquivo pode atingir. A opo UNLIMITED especifica que o arquivo pode aumentar at o disco ficar cheio. Incremento de crescimento do arquivo. O valor pode ser especificado em MB, KB ou % (porcentagem do tamanho do arquivo no momento em que o incremento ocorre).
MODIFY FILEGROUP
READONLY
READWRITE
MAXSIZE
FILEGROWTH
Altera a estrutura de uma stored procedure, sem alterar permisses e sem afetar qualquer stored procedure ou trigger dependente.
ALTER PROC[EDURE] nomeproc [;nmero] [ {@parmetro tipo_dado } [ VARYING] [= default ] [OUTPUT]] [,...] [ WITH { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] [ FOR REPLICATION ] AS comandos_sql [...]
Parmetro
nomeproc ;nmero
Descrio
Nome da procedure a ser alterada. Nmero inteiro usado para agrupar procedures de mesmo nome, para que sejam removidas de uma s vez pelo comando DROP PROCEDURE. Parmetro para a procedure. Um ou mais parmetros podem ser declarados. Parmetros so locais procedure. Tipo de dado do parmetro. Utilizado somente para parmetros de retorno do tipo cursor. Permite que o resultado seja construdo dinamicamente dentro da procedure e retornado como um cursor para o objeto que fez a chamada a essa procedure. Valor default do parmetro. Identifica um parmetro de retorno. Ignora o plano de execuo existente e gera outro sempre que a procedure for executada. Criptografa o texto de criao da procedure que fica na tabela syscomments.
@parmetro
tipo_dado VARYING
FOR REPLICATION Especifica que as procedures criadas para replicao, no podem ser executadas no servidor assinante. Utilizado para criao de procedures para filtros de replicao. AS Especifica as aes que a procedure deve tomar, que so os comandos SQL que sero colocados logo aps esse identificador. Comandos da stored procedure.
comandos_sql
Comandos constraint_tabela ::= [CONSTRAINT nome_constraint] { [ { PRIMARY KEY | UNIQUE } [ CLUSTERED | NONCLUSTERED] { ( coluna[,...] ) } [ WITH FILLFACTOR = fator_preenchimento] [ON {filegroup | DEFAULT} ] ] | FOREIGN KEY [ (coluna[,...] ) ] REFERENCES tabela_ref [ (col_ref [,...]) ] [ NOT FOR REPLICATION ] | DEFAULT expresso_constante [ FOR coluna ] | CHECK [NOT FOR REPLICATION] (expr_lgica) }
Parmetro
tabela
Descrio
Nome da tabela a ser alterada. O nome do banco de dados e do dono do objeto devem ser especificados quando estiver sendo feita referncia a objetos de outros bancos de dados que no o corrente. Especifica a coluna a ser substituda ou alterada. Nome da coluna a ser alterada, adicionada ou removida. Novo tipo de dado para a coluna alterada. Preciso do tipo de dados especificado. Escala do tipo de dados especificado. Especifica se a coluna aceita valores NULL. Adiciona (ADD) ou remove (DROP) a propriedade ROWGUIDCOL da coluna especificada. ROWGUIDCOL uma palavra-chave que indica que a coluna tem um GUID atribudo. Especifica que uma ou mais definies de colunas, de colunas calculadas ou constraints de tabelas esto sendo adicionadas. Vide abaixo. Expresso que define uma coluna calculada, que uma coluna virtual e no armazenada fisicamente no banco de dados, pois calculada utilizando valores de outras colunas da mesma tabela.
ALTER COLUMN coluna novo_tipo_dado preciso escala NULL | NOT NULL ROWGUIDCOL
ADD
definio_coluna coluna_calculada
Comandos WITH CHECK | WITH NOCHECK Especifica se os dados da tabela devem ser validados em relao a uma restrio CHECK ou FOREIGN KEY recentemente adicionada ou reabilitada. DROP CONSTRAINT Remove uma constraint (CONSTRAINT) ou coluna (COLUNA) da tabela. Habilita (CHECK) ou desabilita (NOCHECK) uma constraint ou todas (ALL) as constraints da coluna. Somente para constraints FOREIGN KEY e CHECK. Habilita (ENABLE) ou desabilita (DISABLE) um trigger ou todos (ALL) da tabela.
TRIGGER
Definio_coluna
coluna tipo_dado DEFAULT IDENTITY valor_inicial incremento Nome da coluna. Tipo de dado da nova coluna. Valor default da coluna. Especifica que a nova coluna tem propriedade de auto-incremento. Valor a ser usado para a primeira linha carregada na tabela. Valor incremental que adicionado ao valor de identidade da linha anteriormente carregada. A propriedade de auto-incremento no ser executada pelo processo de replicao. ROWGUIDCOL A coluna o identificador global da linha.
Constraint_coluna
CONSTRAINT Indica o incio da definio de uma constraint PRIMARY KEY, FOREIGN KEY, CHECK ou DEFAULT. Nome da constraint. Se no for especificado, o SQL Server atribuir um nome implcito constraint. uma constraint que fora a integridade referencial de entidade para uma dada coluna ou colunas por meio de um ndice exclusivo. uma constraint que fornece integridade de entidade para uma dada coluna ou colunas por meio de um ndice exclusivo.
nome_constraint
PRIMARY KEY
UNIQUE
10
Comandos CLUSTERED | NONCLUSTERED Cria um ndice clusterizado (CLUSTERED) ou no clusterizado (NONCLUSTERED) para a constraint PRIMARY KEY ou UNIQUE. WITH FILLFACTOR Especifica o nvel de preenchimento em relao a cada pgina de um ndice usada para armazenar os dados de ndice. Especifica a localizao de armazenamento do ndice que criado para a constraint. Requer que cada valor na coluna exista na coluna especificada na tabela que est sendo referenciada. uma constraint que fornece integridade referencial aos dados da coluna.
ON
FOREIGN KEY
REFERENCES
tabela_referenciada Nome da tabela qual est sendo feita referncia por uma constraint FOREIGN KEY. coluna_referenciada Coluna ou colunas entre parnteses as quais est sendo referncia pela nova constraint FOREIGN KEY. NOT FOR REPLICATION A propriedade de auto-incremento no ser executada pelo processo de replicao. CHECK Define os valores vlidos para a coluna. Semelhante s regras de validao (vide CREATE RULE). Expresso lgica que define a regra de validao da coluna.
expresso_lgica
Constraint_tabela
coluna FOR coluna Coluna ou colunas entre parnteses usadas na nova constraint. Especifica a coluna a ser usada com uma constraint DEFAULT de nveis de tabela.
11
Argumento
nome_trigger nome_tabela WITH ENCRYPTION
Descrio
Nome do trigger a ser alterado. Nome da tabela qual o trigger est associado. Criptografa a definio do trigger na tabela syscomments. Tipos de operaes que ativam o trigger. Pelo menos um tipo deve ser especificado.
No executa o trigger quando a alterao da tabela for feita pelo processo de replicao de dados. Identifica uma seqncia lgica de comandos SQL que representa as aes que o trigger deve tomar. Existem duas tabelas que ficam disponveis durante a execuo dos triggers e que so de grande importncia. So elas: deleted e inserted. Elas tm exatamente a mesma estrutura da tabela que sofreu o INSERT, DELETE ou UPDATE e contm as linhas novas (INSERTED) e antigas (DELETED) afetadas por esses comandos.
AS comando_sql
12
Comandos IF UPDATE(coluna) Testa se uma coluna foi alterada. Testa quais colunas foram inseridas e/ ou alteradas. Operador_bit_a_bit bitmask_atualizado operador_comparao bitmask_coluna Operador bit a bit. Bitmask das colunas que foram alteradas. Operador de comparao (=), (<), (>). Bitmask das colunas que sero verificadas. IF (COLUMNS_UPDATED())
ALTER VIEW
Argumento
nome_view coluna WITH ENCRYPTION AS
Descrio
Nome da view a ser alterada. Nome da(s) coluna(s) da view. Criptografa o comando CREATE VIEW na tabela syscomments. Especifica o comando SELECT que define a view. No pode incluir as clusulas ORDER BY, INTO, COMPUTE ou COMPUTE BY. Fora os comandos de modificao de dados, aplicados pela visualizao, a utilizarem os critrios no comando SELECT que define a view.
13
Comandos BACKUP
BACKUP DATABASE Efetua backup de um banco de dados. Backups criados com o SQL Server 7.0 no podem ser restaurados nas verses anteriores do SQL Server.
Backup do banco de dados inteiro: BACKUP DATABASE nome_bd TO disp_backup [,...] [ WITH [ BLOCKSIZE = tam_bloco] [ [,] DESCRIPTION = texto] [ [,] DIFFERENTIAL] [ [,] EXPIREDATE = data | RETAINDAYS = num_dias] [ [,] FORMAT | NOFORMAT] [ [,] {INIT | NOINIT}] [ [,] MEDIADESCRIPTION = texto] [ [,] MEDIANAME = nome] [ [,] [NAME = nome] [ [,] {NOSKIP | SKIP}] [ [,] {NOUNLOAD | UNLOAD} ] [ [,] [RESTART] [ [,] STATS [= porcentagem] ] ] Backup de arquivos ou filegroups: BACKUP DATABASE nome_bd { FILE = nome_lgico | FILEGROUP = nome_lgico} [,...] TO disp_backup [,...] [WITH opes]
Argumento
disp_backup BLOCKSIZE DESCRIPTION
Descrio
Dispositivo de backup utilizado na operao de backup. Tamanho fsico (em bytes) do bloco. Texto descritivo do backup (at 255 caracteres).
14
Comandos DIFFERENTIAL Efetua backup somente das pginas modificadas no banco de dados desde o ltimo backup completo. Data que o backup expira e pode ser sobrescrito. Nmero de dias decorridos at que a mdia possa ser sobrescrita. Especifica que o header da mdia deve ser gravado em todos os volumes do backup. Especifica que o header da mdia no deve ser gravado em todos os volumes do backup. Especifica se inicializar ou no o dispositivo de backup antes de gravar o backup. Campo de comentrio para o backup. Descrio do conjunto de backup. Nome do backup. Verifica o cabealho e a data de expirao da mdia para evitar sobrescrever acidentalmente uma mdia. Salta a leitura do header da mdia quando grava em uma fita. No ejeta a fita automaticamente do dispositivo de fita ao trmino da execuo do comando. Retrocede e ejeta automaticamente a fita do dispositivo de fita ao trmino da execuo do comando (opo default). Reinicia o backup a partir do ponto em que foi interrompido anteriormente. Freqncia de notificao do progresso do backup (default=10, que significa que ser notificado toda vez que completar 10% do backup). Nome dos arquivos a serem includos no bakup. Filegroups a serem includos no backup do banco de dados. Faz backup somente do log de transaes. No grava o comando de backup no log de transaes. Limpa o log de transaes sem fazer backup do mesmo. Faz um backup do log de transao, sem eliminar do log as transaes que foram copiadas pelo backup.
SKIP NOUNLOAD
UNLOAD
RESTART STATS
15
Comandos BEGIN...END
Delimita um bloco de comandos SQL, que ser tratado como uma unidade.
BEGIN {instruo_sql | bloco_comandos} END BEGIN DISTRIBUTED TRANSACTION
Especifica o incio de uma transao distribuda gerenciada pelo Microsoft Distributed Transaction Coordinator (MS DTC). Uma transao distribuda envolve bancos de dados em mais de um servidor.
BEGIN DISTRIBUTED TRAN[SACTION] [transao]
Parmetro
transao
Descrio
Nome da transao para os utilitrios MS DTC.
BEGIN TRANSACTION
Identifica o incio de uma transao local explcita. Incrementa a varivel global @@TRANCOUNT de 1.
BEGIN TRAN[SACTION] [transao]
Parmetro
transao
Descrio
Nome da transao (somente os primeiros 32 caracteres do nome da transao sero utilizados). Pode ser usado apenas no par mais externo de declaraes BEGIN...COMMIT ou BEGIN...ROLLBACK aninhadas.
BREAK
Sai do lao WHILE mais interno. Os comandos aps a palavra-chave END so ignorados.
16
Argumento
nome_bd proprietrio tabela arquivo
Descrio
Nome do banco de dados da tabela que receber os dados do arquivo. Nome do proprietrio da tabela ou da view. Nome da tabela ou view que receber os dados. Nome do arquivo (incluindo o path completo) a ser copiado para a tabela ou para a view. Nmero de linhas por lote transferido para o servidor. Cada lote feito em uma transao. Executa as constraints definidas para a tabela.
BATCHSIZE
CHECK_CONSTRAINTS
CODEPAGE [= 'ACP' | 'OEM' | 'RAW' | 'cdigo_pgina'] Cdigo de pgina localizado no arquivo de dados. Esta opo ser relevante somente quando os dados forem do tipo char e utilizarem caracteres estendidos (cdigos maiores que 127 ou menores que 32).
17
Comandos ACP Colunas do tipo char, varchar, ou text so convertidas do cdigo de pgina ANSI/ Windows (ISO1252) para o cdigo de pgina configurado no SQL Server. Colunas do tipo char, varchar, ou text so convertidas do cdigo de pgina OEM para o cdigo de pgina configurado no SQL Server. Nenhuma converso ser feita. Cdigo de pgina (por exemplo, 850). Formato no qual os dados sero armazenados no arquivo. char (default) native Copia os dados assumindo que o arquivo est no formato texto (caractere). Copia os dados assumindo que o arquivo est no formato nativo do SQL Server. Deve ter sido gerado com o utilitrio BCP. Copia os dados assumindo que o arquivo est no formato texto UNICODE. Copia os dados assumindo que o arquivo est no formato UNICODE nativo. Deve ter sido gerado com o aplicativo BCP. Caractere utilizado como terminador de campo (default=caractere \t). Nmero da primeira linha do arquivo a ser copiada (default=1). Especifica um path completo e o nome do arquivo de formato que descreve o contedo do arquivo de dados. Funciona de forma semelhante ao arquivo de formato criado para o comando de BCP. Especifica que os valores IDENTITY inseridos em um volume mantero seu valor em vez de ter um novo valor IDENTITY atribudo a eles como parte do processo de insero. Especifica que os valores NULL retero seus valores NULL quando o volume for inserido. Nmero de bytes a serem transferidos por vez. LASTROW Nmero da ltima linha do arquivo a ser copiada (default=0, indicando a ltima linha no arquivo de dados).
OEM (default)
RAW cd_pgina
widechar widenative
KEEPIDENTITY
KEEPNULLS
KILOBYTES_PER_BATCH
18
Comandos MAXERRORS Nmero mximo de erros que podem ocorrer antes da cpia ser automaticamente cancelada (default=10). Especifica as colunas utilizadas para a classificao (ASC ou DESC) do arquivo de dados. Nmero de linhas a serem copiadas por lote. Especifica o caractere utilizado como terminador de linha (default= \n). Especifica que um bloqueio (lock) de tabela ser utilizado at o fim da operao de cpia.
ORDER
CASE
Avalia uma srie de condies e retorna a primeira condio verdadeira. Formato 1: Comparao entre expresses para determinar o resultado.
CASE expresso_case WHEN expresso_when THEN resultado [...] [ ELSE resultado ] END
Argumento
WHEN
Descrio
Especifica a expresso a ser comparada com a expresso_case. Caso sejam iguais, ser retornado o resultado especificado aps a clusula THEN. Especifica o resultado a ser retornado caso a clusula WHEN correspondente seja satisfeita. Especifica o resultado a ser retornado caso nenhuma das clusulas WHEN seja satisfeita.
THEN ELSE
19
Comandos
Argumento
Descrio
WHEN condio Especifica uma condio. Se for verdadeira, ento o resultado especificado pela clusula ser retornado. THEN ELSE Resultado a ser retornado caso a clusula WHEN correspondente seja satisfeita. Resultado a ser retornado caso nenhuma das clusulas WHEN seja satisfeita.
CHECKPOINT
Grava, em disco, as pginas do banco de dados corrente que foram alteradas em memria.
CHECKPOINT CLOSE
Argumento
GLOBAL nome_cursor varivel_cursor
Descrio
Identifica um cursor global. Nome de um cursor a ser fechado. Nome da varivel do tipo cursor que contm o cursor a ser fechado.
COMMIT TRANSACTION
Indica que uma transao foi realizada com sucesso e que todo o trabalho deve ser salvo, bem como que os eventuais LOCKs obtidos pela transao devem ser liberados.
COMMIT [ TRAN[SACTION] [transao]] COMMIT WORK
20
Cria um novo banco de dados e os arquivos usados para armazen-lo. Pode ser utilizado tambm para anexar ao servidor local um banco de dados criado previamente em outro servidor, utilizando os arquivos originais ou cpias dos mesmos.
CREATE DATABASE nome_bd [ ON [PRIMARY] [ filespec [,...] ] [, filegroup [,...] ] ] [ LOG ON filespec [,...] ] [ FOR LOAD | FOR ATTACH ] filespec ::= ( [ NAME = nome_lgico, ] FILENAME = 'nome_fsico' [, SIZE = tamanho] [, MAXSIZE = { tamanho_max | UNLIMITED } ] [, FILEGROWTH = incremento] ) [,...] filegroup ::= FILEGROUP filegroup filespec [,...]
Argumento
nome_bd ON
Descrio
Nome do novo banco de dados. Especifica que todos os arquivos contendo os dados do banco de dados sero especificados explicitamente. Especifica o primeiro arquivo que contm as tabelas de sistema e outras informaes internas do banco de dados. Se no especificada, assumir o primeiro arquivo da lista. Especifica os arquivos fsicos do log de transaes do banco de dados. Marca o banco de dados para utilizao de DBO. Opo obsoleta, mantida para compatibilidade retroativa. Anexa um banco de dados ao servidor a partir de um conjunto de arquivos que compem o banco de dados. Nome lgico do arquivo. Nome fsico do arquivo.
PRIMARY
FOR ATTACH
21
Comandos SIZE Tamanho do arquivo. Os sufixos MB e KB podem ser utilizados para especificar megabytes ou kilobytes (default=1MB). Tamanho mximo que o arquivo pode atingir. A opo UNLIMITED especifica que o arquivo pode aumentar at o disco ficar cheio. Incremento de crescimento do arquivo. O valor pode ser especificado em MB, KB ou % (porcentagem do tamanho do arquivo no momento em que o incremento ocorre).
MAXSIZE
FILEGROWTH
CREATE DEFAULT
Cria um valor padro (default), que poder ser atribudo a uma coluna quando nenhum valor for fornecido a essa coluna durante uma insero.
CREATE DEFAULT nome_default AS expresso_constante
Argumento
nome_default expresso_constante
Descrio
Nome do objeto default. Expresso constante que contm o valor default a ser atribudo a uma coluna.
CREATE INDEX
Argumento
UNIQUE
Descrio
Cria um ndice exclusivo (no qual no possvel duas linhas terem o mesmo valor de ndice). Cria um ndice setorizado, que classifica fisicamente o contedo da tabela na ordem da(s) coluna(s) do ndice. Cria um ndice no-setorizado, que no altera a ordem das linhas na tabela. Nome do ndice.
CLUSTERED
NONCLUSTERED nome_ndice
22
Comandos tabela coluna PAD_INDEX Nome da tabela que contm a coluna ou as colunas a serem indexadas. Coluna ou colunas s quais o ndice se aplica. Especifica o espao a ser deixado livre em cada pgina (nodo) nos nveis intermedirios do ndice. Usa a porcentagem especificada em FILLFACTOR. Porcentagem de preenchimento de cada pgina de ndice durante a criao do ndice. Se igual a 100, preenche totalmente cada pgina de ndice; se 0, apenas as pginas de ndice de folha (leaf) sero preenchidas (default=0).
FILLFACTOR
IGNORE_DUP_KEY Ignora as tentativas de insero de valores duplicados na coluna (ou colunas) indexada. DROP_EXISTING Remove da tabela ndices com o mesmo nome. No recalcula automaticamente informaes estatsticas desatualizadas. ON filegroup Cria o ndice no filegroup especificado.
STATISTICS_NORECOMPUTE
CREATE PROCEDURE
Argumento
nomeproc
Descrio
Nome da nova stored procedure. Preceda o nome com # para criar uma procedure temporria local e preceda com ## para criar uma temporria global. Nmero inteiro usado para agrupar procedures de mesmo nome, para que sejam removidas de uma s vez pelo comando DROP PROCEDURE. Parmetro para a procedure. Um ou mais parmetros podem ser declarados. Parmetros so locais procedure. Tipo de dado do parmetro.
;nmero
@parmetro
tipo_dado
23
Comandos VARYING Utilizado somente para parmetros de retorno do tipo cursor. Permite que o resultado seja construdo dinamicamente dentro da procedure e retornado como um cursor para o objeto que fez a chamada a essa procedure. Valor default do parmetro. Identifica um parmetro de retorno. Ignora o plano de execuo existente e gera outro sempre que a procedure for executada. Criptografa o texto de criao da procedure que fica na tabela syscomments.
FOR REPLICATION Especifica que as procedures criadas para replicao no podem ser executadas no servidor assinante. Utilizado para criao de procedures para filtros de replicao. AS Especifica as aes que a procedure deve tomar, que so os comandos SQL que sero colocados logo aps esse identificador. Comandos da stored procedure.
Cria uma regra (rule). Uma regra define os valores vlidos para uma coluna ou tipo de dados. Uma regra vinculada a uma coluna ou tipo de dados atravs da stored procedure sp_bindefault.
CREATE RULE regra AS expresso_condio
Parmetro
regra
Descrio
Nome da regra a ser criada.
expresso_condio Especifica as condies que definem a regra. Pode ser qualquer expresso vlida em uma sentena WHERE. CREATE SCHEMA
Cria um esquema (schema). Um esquema contm declaraes a para criao de tabelas, views e privilgios de usurios.
CREATE SCHEMA AUTHORIZATION proprietrio [ <esquema> [...] ] <esquema> ::= {definio_tabela | definio_view | comando_grant}
24
Comandos
Argumento
proprietrio definio_tabela definio_view comando_grant
Descrio
Identificao (ID) do proprietrio do esquema. Especifica o comando CREATE TABLE que criar uma tabela no esquema. Especifica o comando CREATE VIEW que criar uma view para o esquema. Especifica um comando GRANT para conceder permisses a um usurio ou grupo de usurios.
CREATE STATISTICS
Cria um grupo de estatsticas referentes a uma tabela ou a colunas especficas de uma tabela.
CREATE STATISTICS nome_estatstica ON tabela (coluna [,...]) [ WITH [ [ FULLSCAN | SAMPLE nmero PERCENT ] [,] ] [ NORECOMPUTE] ]
Argumento
nome_estatstica tabela
Descrio
Nome do grupo de estatsticas a ser criado. Nome da tabela para a qual as informaes estatsticas esto sendo criadas. Nome da(s) coluna(s) ou do(s) ndice(s) para o(s) qual(is) as informaes estatsticas esto sendo criadas. Efetua a varredura completa do ndice ou da tabela ao acumular informaes estatsticas. O mesmo que SAMPLE 100 PERCENT.
coluna
FULLSCAN
SAMPLE nmero PERCENT Percentual utilizado para calcular as estatsticas por amostragem. Apenas uma parte da tabela ser lida. NORECOMPUTE No recalcula automaticamente informaes estatsticas desatualizadas.
25
26
Comandos
Argumento
tabela
Descrio
Nome da tabela a ser criada. Pode incluir o nome do banco de dados e o nome do proprietrio. Nome da coluna da tabela. Expresso que define o valor de uma coluna calculada. Uma coluna calculada uma coluna virtual que no est fisicamente armazenada na tabela e contm resultados de expresses constantes ou que utilizam as colunas da prpria tabela. Especifica em qual filegroup a tabela ser criada. Caso no seja especificado ser utilizado o filegroup default. Indica que colunas dos tipos de dados text, ntext e image sero colocadas em um filegroup especfico. Caso no seja especificado, sero colocadas no mesmo filegroup da tabela. Indica o tipo de dado da coluna. Especifica o valor atribudo coluna quando ele no tiver sido explicitamente fornecido durante a insero. Identifica uma coluna com a propriedade de auto-incremento, onde os valores so colocados automaticamente, seguindo o que estiver definido em valor_inicial e incremento. Somente uma coluna do tipo IDENTITY permitida por tabela. Valor que ser colocado na primeira linha a ser inserida na tabela. Incremento ao valor a ser atribudo a cada linha subseqente. No executa a propriedade de autoincremento quando a insero de dados estiver sendo feita pelo processo de replicao.
coluna AS expresso
ON
TEXTIMAGE_ON
tipo_de_dados DEFAULT
IDENTITY
valor_inicial incremento
ROWGUIDCOL CONSTRAINT
Indica que a nova coluna um identificador global da linha. Indica o incio da definio de uma constraint PRIMARY KEY, FOREIGN KEY, CHECK ou DEFAULT. Determina se valores NULL so permitidos ou no na coluna. 27
Comandos PRIMARY KEY Determina a chave primria da tabela, ou seja, os valores devem ser nicos para as colunas definidas nessa constraint. Somente uma constraint PRIMARY_KEY permitida por tabela. Determina que essa(s) coluna(s) deve(m) ter valores nicos. Indica se a constraint PRIMARY KEY ou UNIQUE ser clusterizada ou no. Veja o comando CREATE INDEX para mais detalhes. WITH FILLFACTOR Porcentagem de preenchimento de cada pgina de ndice durante a criao do ndice. Se igual a 100, preenche totalmente cada pgina de ndice; se 0, apenas as pginas de ndice de folha (leaf) sero preenchidas (default=0). Fornece integridade referencial entre as tabelas, ligando as chaves primrias s chaves estrangeiras. tabela_ref coluna_ref CHECK Tabela qual ser feita referncia pela chave estrangeira (Foreign key). Coluna qual ser feita referncia pela chave estrangeira. Semelhante s regras de validao (ver CREATE RULE). Esta opo serve para limitar os valores permitidos para a coluna. No executa a constraint CHECK quando a tabela estiver sendo alterada pelo processo de replicao. expresso_lgica coluna Expresso lgica utilizada na constraint CHECK que retorna TRUE ou FALSE. Coluna ou colunas que so utilizadas na definio das constraints.
UNIQUE
CLUSTERED | NONCLUSTERED
FOREIGN KEY...REFERENCES
28
Cria um trigger. Trigger um tipo especial de stored procedure que executada automaticamente quando dados so adicionados, modificados ou excludos do banco de dados.
CREATE TRIGGER nome_trigger ON tabela [WITH ENCRYPTION] { {FOR { [DELETE] [,] [INSERT] [,] [UPDATE] } [WITH APPEND] [NOT FOR REPLICATION] AS comando_sql [...] } | {FOR { [INSERT] [,] [UPDATE] } [WITH APPEND] [NOT FOR REPLICATION] AS { IF UPDATE (coluna) [{AND | OR} UPDATE (coluna)] [...] | IF (COLUMNS_UPDATED() {operador_binrio} bitmask_atualizado) { operador_comparao } bitmask_coluna [...] } comando_sql [ ...] } }
Argumento
tabela WITH ENCRYPTION
Descrio
Nome da tabela para a qual o trigger executado. Criptografa a definio do trigger na tabela syscomments. Tipos de operaes que ativam o trigger. Pelo menos um tipo deve ser especificado.
WITH APPEND
Indica que pode ser criado mais de um trigger para o mesmo tipo de operao (INSERT, DELETE ou UPDATE) em uma tabela e que todos eles sero executados seguindo a ordem em que foram criados. No executa o trigger quando a alterao da tabela estiver sendo feita pelo processo de replicao de dados.
29
Comandos AS comando_sql Identifica uma seqncia lgica de comandos SQL que representa as aes que o trigger deve tomar. Existem duas tabelas que ficam disponveis durante a execuo dos triggers e que so de grande importncia. So elas: deleted e inserted. Elas tm exatamente a mesma estrutura da tabela que sofreu o INSERT, DELETE ou UPDATE e contm as linhas novas (INSERTED) e antigas (DELETED) afetadas por esses comandos. Testa se uma coluna foi alterada. Testa quais colunas foram inseridas e/ ou alteradas. Operador_bit_a_bit bitmask_atualizado operador_comparao bitmask_coluna Operador bit a bit. Bitmask das colunas que foram alteradas. Operador de comparao (=), (<), (>). Bitmask das colunas que sero verificadas.
IF UPDATE(coluna)
IF (COLUMNS_UPDATED())
CREATE VIEW
Cria uma view. View uma tabela virtual que representa uma maneira alternativa de ver dados em uma ou mais tabelas.
CREATE VIEW nome_view [(coluna [,...])] [WITH ENCRYPTION] AS comando_select [WITH CHECK OPTION]
Argumento
nome_view coluna WITH ENCRYPTION AS
Descrio
Nome da view. Nome a ser usado para uma coluna em uma view. Criptografa o comando CREATE VIEW na tabela syscomments. Especifica o comando SELECT que define a view. No pode incluir as clusulas ORDER BY, INTO, COMPUTE ou COMPUTE BY. Fora os comandos de modificao de dados aplicados pela visualizao a utilizarem os critrios do comando SELECT que define a view.
30
Comandos DBCC
O DBCC (Database Consistency Checker) verifica e corrige as estruturas internas de um banco de dados. extremamente importante checar a consistncia dos bancos de dados antes de fazer um DUMP DATABASE (Backup), pois bancos de dados corrompidos no podem ser restaurados. Existem vrios comandos DBCC para fazer a verificao completa no banco de dados, veja nas pginas 62 a 72.
DEALLOCATE
Argumento
GLOBAL nome_cursor varivel_cursor DECLARE
Descrio
Especifica que trata-se de um cursor global. Nome do cursor. Nome de uma varivel cursor.
Declara variveis locais. Utilize o comando SET para atribuir valores s variveis.
DECLARE { { @varivel_local tipo_dado } | { @varivel_cursor CURSOR} } [,...]
Argumento
@varivel_local tipo_dado @varivel_cursor CURSOR DECLARE CURSOR
Descrio
Nome da varivel. Tipo de dado da varivel. No pode ser do tipo text, ntext ou image. Nome da varivel tipo cursor. Especifica que a varivel um cursor local.
31
Comandos
Argumento
LOCAL GLOBAL
Descrio
O cursor tem escopo local ao batch ou procedure no qual est sendo declarado. O cursor tem escopo global, permitindo que seja acessado de fora do batch ou procedure no qual est sendo declarado. O cursor s poder ser lido no sentido normal (da primeira ltima linha) e s permite o comando FETCH NEXT O cursor poder ser lido em qualquer sentido e os comandos FETCH [ NEXT | PRIOR | LAST | FIRST| ABOSOLUTE | RELATIVE] podero ser utilizados. O contedo do cursor esttico e no se altera, mesmo que os dados das tabelas que serviram de base sejam alterados. Isso feito atravs da criao de uma tabela temporria, com o resultado do SELECT que define o cursor e, ento, o cursor fica automaticamente baseado nessa tabela tamporria. Quando o cursor aberto (comando OPEN), criada uma tabela no tempdb que contm as chaves das linhas que fazem parte do cursor. O contedo dessa tabela fixo e ela utilizada pelo cursor para fazer a leitura das linhas nas tabelas-base. Dessa forma, linhas novas adicionadas s tabelas-base no sero includas no cursor, ao passo que qualquer alterao nas linhas existentes ser refletida automaticamente. Ao contrrio de STATIC, todas as modificaes feitas nas tabelas que servem de base ao cursor sero refletidas no mesmo. O cursor ser aberto com otimizao de performance e ser READ ONLY. Impede que atualizaes sejam feitas atravs desse cursor. Garante que podem ser feitas atualizaes atravs do cursor. Para isso, o SQL Server faz os bloqueios (locks) nas linhas que esto sendo lidas pelo cursor. Ao contrrio do SCROLL_LOCKS, no feito bloqueio nas linhas lidas pelo cursor e, dessa forma, no se garante que possam ser feitas atualizaes atravs do cursor, pois as linhas podem estar completamente diferentes do que estavam quando foram lidas pelo cursor.
FORWARD_ONLY
SCROLL
STATIC
KEYSET
DYNAMIC
OPTIMISTIC
32
Comandos TYPE_WARNING Envia mensagem de alerta ao usurio informando que houve converso dos tipos de dados no cursor. Comando SELECT que define o cursor. Define a lista de colunas que podem ser atualizadas atravs desse cursor. Caso a lista no seja definida, todas as colunas sero consideradas atualizveis, desde que o cursor no seja READ ONLY. DELETE
comando_select
33
Comandos
Argumento
tabela WITH
Descrio
Nome da tabela da qual as linhas sero removidas. Instrues para o otimizador. Para mais detalhes, veja a clusula FROM do comando SELECT na pgina 52. Nome da view. Tabela(s) utilizada(s) para definir o critrio do conjunto de dados que ser removido da tabela. Para mais detalhes veja a clusula FROM do comando SELECT na pgina 52. Condies que devem ser satisfeitas para formar o conjunto de dados a ser removido. Quando estiver removendo dados atravs de um cursor, utilize a clusula CURRENT OF nome_cursor, que define a linha atual do cursor. Especifica as instrues que sero passadas ao otimizador. Para mais detalhes veja a clusula OPTION do comando SELECT na pgina 55.
WHERE
OPTION
DENY
Argumento
ALL comando
Descrio
Especifica que todas as permisses aplicveis esto sendo negadas. Comando para o qual a permisso est sendo negada. Podem ser os seguintes: CREATE DATABASE, CREATE DEFAULT, CREATE PROCEDURE, CREATE RULE, CREATE TABLE, CREATE VIEW, BACKUP DATABASE e BACKUP LOG.
34
Comandos TO PRIVILEGES permisso Lista de usurios para os quais as permisses sero negadas. Palavra-chave opcional que pode ser includa para compatibilidade com SQL-92. Permisso que est sendo negada. Para tabelas ou views, podem ser SELECT, INSERT, DELETE, ou UPDATE; para procedures, EXECUTE. Coluna ou colunas a que voc quer negar acesso. Nome da tabela na qual as permisses esto sendo negadas. Nome da view na qual as permisses esto sendo negadas. Nome da procedure na qual as permisses esto sendo negadas.
extended_procedure Nome da procedure extendida na qual as permisses esto sendo negadas. CASCADE Nega permisses a uma conta que previamente tenha recebido alguma permisso de usurio com o direito WITH GRANT OPTION.
DROP DATABASE
Parmetro
nome_bd DROP DEFAULT
Descrio
Nome do banco de dados a ser removido.
Remove padres (valores default) do banco de dados corrente. Utilize a procedure sp_help para ver a lista de defaults existentes.
DROP DEFAULT nome_default [,...] DROP INDEX
Argumento Descrio
tabela ndice Nome da tabela onde o ndice foi criado. Nome do(s) ndice(s) a remover.
35
Elimina as informaes estatsticas de uma ou mais colunas de uma tabela no banco de dados corrente.
DROP STATISTICS tabela.nome_estatstica[,...]
Argumento
tabela nome_estatstica
Descrio
Nome da tabela. Nome da estatstica criada com o comando CREATE STATISTICS.
DROP TABLE
Remove uma tabela e todos os seus dados alm dos objetos dependentes como ndices, triggers e constraints. Qualquer view criada com base em uma tabela que tenha sido eliminada tem de ser explicitamente removida com o comando DROP VIEW.
DROP TABLE tabela DROP TRIGGER
Remove views do banco de dados corrente. Utilize a procedure sp_help para ver a lista de views existentes.
DROP VIEW view [,...]
36
Comandos DUMP
Cria uma cpia backup de um banco de dados ou cria uma cpia do arquivo de transaes em uma forma que poder ser lida usando as instrues BACKUP ou LOAD.
EXECUTE
Executa uma procedure de sistema, uma procedure, uma procedure estendida ou um comando SQL armazenado em uma varivel ou no. Executar uma procedure:
[[EXEC[UTE]] { [@status_retorno =] {nome_procedure [;nmero ] } [[@parmetro =] {valor | @varivel [OUTPUT] | [DEFAULT]] [,...] [WITH RECOMPILE]
Argumento
@status_retorno nome_procedure ;nmero @parmetro valor @varivel OUTPUT DEFAULT WITH RECOMPILE @varivel_string [N]'string'
Descrio
Varivel que armazena o status retornado pela procedure. Nome da procedure. Verso da procedure. Parmetro que ser passado para a procedure. Valor do parmetro. Varivel onde pode ser colocado o valor do parmetro de retorno da procedure. Especifica que a stored procedure deve retornar um parmetro. Informa o valor default do parmetro da procedure. Recompila a procedure antes de executla. Varivel local que contm um comando SQL. String que contm o comando SQL a ser executado.
37
Comandos FETCH
Faz a leitura de linhas de um cursor que tenha sido previamente declarado (DECLARE CURSOR) e aberto (OPEN).
FETCH [ [ NEXT | PRIOR | FIRST | LAST | ABSOLUTE n | RELATIVE n ] FROM ] {{ [GLOBAL] nome_cursor} | @varivel_cursor } [INTO @varivel; [,...]]
Argumento
NEXT PRIOR FIRST LAST ABSOLUTE n RELATIVE n GLOBAL nome_cursor INTO
Descrio
Retorna a linha imediatamente seguinte linha corrente. Retorna a linha imediatamente anterior linha corrente. Retorna a primeira linha do cursor. Retorna a ltima linha do cursor. Retorna a linha n do cursor. Retorna a linha que est 'n' posies frente da linha corrente. Especifica que nome_cursor refere-se a um cursor global. Nome do cursor. O comando fetch vai trazer uma linha inteira definida pelo comando SELECT no qual o cursor est baseado. A clusula INTO faz com que o contedo das colunas dessa linha que foi lida pelo FETCH seja colocado em variveis locais. As variveis locais devem ter tipos de dados compatveis com as colunas que esto sendo lidas.
GOTO
Desvia o fluxo de execuo para o comando identificado pelo label. Definio do label:
label:
Parmetro
label
Descrio
Define o ponto para onde o processamento ser desviado.
38
Comandos GRANT
Define as permisses de acesso ou execuo que um usurio ou grupo de usurios pode ter em relao aos objetos e comandos do banco de dados. Permisses de comandos:
GRANT { ALL | comando [,...] } TO usurio [,...]
Permisses de objetos:
GRANT { ALL [PRIVILEGES] | permisso [,...] } { [ (coluna [,...]) ] ON {tabela | view} | ON { tabela | view } [ (coluna [,...]) ] | ON {stored_procedure | extended_procedure} } TO usurio [,...] [ WITH GRANT OPTION ] [ AS {grupo | papel } ]
Argumento
ALL comando
Descrio
Especifica que todas as permisses aplicveis esto sendo concedidas. Comando que o usurio poder executar. Podem ser os seguintes: CREATE DATABASE, CREATE DEFAULT, CREATE PROCEDURE, CREATE RULE, CREATE TABLE, CREATE VIEW, BACKUP DATABASE e BACKUP LOG. Lista de usurios para os quais as permisses sero concedidas. Opcional. Utilizado para ficar em conformidade com as definies SQL-92. Permisso ou permisses a serem atribudas. Quando uma permisso de objeto estiver sendo configurada, ser preciso especificar seu tipo: SELECT, INSERT, DELETE, ou UPDATE para tabelas ou views, ou ainda EXECUTE para procedures. Nome da coluna. Nome da tabela. Nome da view. Nome da procedure. Nome da procedure estendida.
TO PRIVILEGES permisso
39
Comandos WITH GRANT OPTION Permite ao usurio repassar os direitos que acaba de receber para outros usurios. AS {grupo | papel} Especifica o grupo ou papel utilizado. Necessrio quando existem diversos papis ou grupos do Windows NT com permisses contraditrias.
IF...ELSE
Comando para determinar blocos de cdigo que sero executados quando determinadas condies forem verdadeiras ou falsas.
IF condio {comando_sql | bloco_comandos} [ELSE {comando_sql | bloco_comandos}]
Parmetro
condio
Descrio
Uma expresso que retorna True ou False. Pode conter um comando SELECT, que deve estar entre parnteses. Comandos SQL que devem ser executados. Caso seja um bloco de comandos, estes devem estar entre BEGIN e END.
comando_sql | bloco_comandos
INSERT
40
Comandos
Argumento
[INTO] tabela WITH
Descrio
Especifica o nome da tabela. A palavrachave INTO opcional. Especifica as opes de otimizao que sero passadas ao otimizador, desabilitando a otimizao automtica. Para a descrio dessas opes veja a a clusula FROM do comando SELECT na pgina 52. Nome da view. Nomes das colunas, separados por vrgula, onde os dados sero inseridos. Especifica a lista de valores a serem inseridos. Fora o SQL Server a inserir o valor padro (default) definido para a coluna. Constante ou varivel, ou ainda uma expresso, que resulte em um valor constante. Comando SELECT que retorna linhas de dados que sero inseridas na tabela. As colunas do SELECT devem ser compatveis (posico e tipo de dados) com as colunas da tabela onde as linhas estiverem sendo inseridas. Qualquer instruo EXECUTE vlida que retorne dados com as instrues SELECT ou READTEXT. Fora a nova linha a conter os valores padro definidos para cada coluna.
comando_select
comando_execute
DEFAULT VALUES
KILL
Argumento Descrio
spid Nmero do processo do usurio. Para saber os nmeros dos processos, execute a procedure sp_who.
LOAD
Carrega uma cpia de backup. Comando obsoleto, mantido apenas para compatibilidade retroativa. Recomenda-se utilizar o comando RESTORE.
41
Comandos OPEN
Abre um cursor de servidor Transact-SQL e preenche o cursor executando o comando Transact-SQL especificado no comando DECLARE CURSOR ou SET varivel_cursor.
OPEN { { [ GLOBAL ] nome_cursor } | varivel_cursor } PRINT
Argumento
texto
Descrio
Qualquer texto que se queira colocar entre as aspas. Nome de uma funo que retorna um string. Expresso que retorna um string.
Retorna uma mensagem definida pelo usurio e configura um flag de sistema para registrar a ocorrncia de um erro.
RAISERROR ( {id_mens | mensagem } {, gravidade, state } [, argumento [,...] ] ) [ WITH opo [,...] ]
Argumento
id_mens mensagem gravidade estado argumentos WITH LOG
Descrio
Mensagem definida pelo usurio que est armazenada na tabela master..sysmessages Mensagem que pode ser formatada de forma similar funo printf da linguagem C. Nvel de gravidade associado mensagem. Valor arbitrrio que pode variar de 1 a 127. Parmetros que sero substitudos pelos flags que foram colocados em msg_str. Especifica uma opo adicional que pode ter os seguintes valores: Cria uma mensagem no log do SQL Server e no log de aplicaes do Windows NT (o qual pode ser visto com Event Viewer). Envia a mensagem imediatamente. Altera o valor da varivel global @@ERROR para id_mens ou 50000.
NOWAIT SETERROR
42
Comandos READTEXT
Argumento
tabela.coluna text_ptr offset tamanho
Descrio
Nome da tabela e coluna no formato (tabela.coluna). Ponteiro do texto. Deve ser do tipo binary(16). Nmero de bytes que devem ser ignorados antes da leitura dos dados propriamente ditos. Nmero de bytes (com tipos de dados text ou image) ou caracteres (com o tipo de dado ntext) de dados a serem lidos. Se o tamanho for 0, 4 Kbytes de dados sero lidos. Bloqueia para leitura o valor de texto at o final da transao.
HOLDLOCK
RECONFIGURE
Atualiza o valor atualmente configurado (coluna config_value do conjunto de resultados sp_configure) de uma opo de configurao alterada com a procedure do sistema sp_configure. Somente o administrador do banco de dados pode executar este comando.
RECONFIGURE [ WITH OVERRIDE ]
Argumento
RECONFIGURE
Descrio
Especifica que, se o ajuste de configurao no exigir uma parada e reinicializao do servidor, o valor atualmente em execuo deve ser atualizado. Fora a reconfigurao para um valor especfico, mesmo que este esteja fora da faixa de valores vlidos para a configurao que foi alterada.
WITH OVERRIDE
43
Comandos RESTORE
Restaura um log e um banco de dados, arquivo(s) de banco(s) de dados ou log. Restaura um banco de dados inteiro:
RESTORE DATABASE nome_bd [ FROM disp_backup [,...] ] [ WITH [ DBO_ONLY ] [ [,] FILE = num_arq ] [ [,] MEDIANAME = tipo_mdia ] [ [,] MOVE 'nome_logico_arq' TO 'nome_arq_so' ] [,...] [ [,] {NORECOVERY | RECOVERY | STANDBY = arq_rec}] [ [,] {NOUNLOAD | UNLOAD} ] [ [,] REPLACE ] [ [,] RESTART ] [ [,] STATS [= porcentagem] ] ]
44
Comandos
Argumento
DATABASE | LOG
Descrio
Indica que deve ser restaurado um backup completo (DATABASE) ou somente do log de transaes (LOG). Nome do banco de dados. Pode estar contido em uma varivel local. Especifica os dispositivos de backup a partir dos quais ser restaurado o backup. Dispositivo de backup permanente ou temporrio para utilizar no processo de restaurao do banco de dados. Restringe o acesso ao banco de dados recentemente restaurado somente ao proprietrio do banco de dados (DBO). Identifica o conjunto de backups a ser restaurado. Especifica o nome da mdia para todo o conjunto de backups. Especifica que o nome_lgico dado deve ser movido para nome_fsico. Instrui a operao de restaurao a no retroceder qualquer transao ainda no submetida. Indica que a restaurao deve ser revertida (roll back) em quaisquer transaes no realizadas e que devem trazer o banco de dados para um estado consistente. Especifica um arquivo onde sero colocadas as informaes para se desfazer a restaurao atual. No ejeta automaticamente a fita do dispositivo de fita ao trmino da execuo do comando. Retrocede e ejeta automaticamente a fita do dispositivo de fita ao trmino da execuo do comando (opo default). Indica que a restaurao deve substituir qualquer banco de dados com o mesmo nome que atualmente exista em seu servidor. Reinicia seu backup a partir de onde parou na tlima vez. Indica que voc gostaria que um status informasse o progresso (em precentual) da operao de restaurao. Nome dos arquivos a serem utilizados para restaurao. 45
DBO_ONLY
RECOVERY
STANDBY
NOUNLOAD
UNLOAD
REPLACE
RESTART STATS
FILE
Comandos FILEGROUP STOPAT Nome dos grupos de arquivos (filegroups) a serem utilizados para restaurao. Indica que o banco de dados deve ser restaurado para o estado em que se encontrava em uma data/hora especfica.
RESTORE FILELISTONLY
Retorna uma lista de backups do banco de dados e arquivos de log armazenados no dispositivo especificado.
RESTORE FILELISTONLY FROM disp_backup [WITH [FILE = nmero] [ [, ] {NOUNLOAD | UNLOAD} ] ]
Argumento
disp_backup FILE NOUNLOAD UNLOAD
Descrio
Especifica o dispositivo de backup (permanente ou temporrio) a ser utilizado. Especifica qual backup no dispositivo de backup deve ser examinado. No ejeta automaticamente a fita do dispositivo de fita ao trmino da execuo do comando. Retrocede e ejeta automaticamente a fita do dispositivo de fita ao trmino da execuo do comando (default).
RESTORE HEADERONLY
Restaura todas as informaes dos cabealhos (header) de todos os conjuntos de backups em um determinado dispositivo de backup.
RESTORE HEADERONLY FROM disp_backup [WITH {NOUNLOAD | UNLOAD}]
Argumento
disp_backup NOUNLOAD UNLOAD
Descrio
Especifica o dispositivo de backup (permanente ou temporrio) a ser utilizado. No ejeta automaticamente a fita do dispositivo de fita ao trmino da execuo do comando. Retrocede e ejeta automaticamente a fita do dispositivo de fita ao trmino da execuo do comando (opo default).
RESTORE LABELONLY
Comandos
Argumento
disp_backup NOUNLOAD UNLOAD
Descrio
Especifica o dispositivo de backup (permanente ou temporrio) a ser utilizado. No ejeta automaticamente a fita do dispositivo de fita ao trmino da execuo do comando. Retrocede e ejeta automaticamente a fita do dispositivo de fita ao trmino da execuo do comando (opo default).
RESTORE VERIFYONLY
Verifica a integridade dos backups contidos no dispositivo de backup. Retorna a informao se o backup pode ou no ser restaurado.
RESTORE VERIFYONLY FROM disp_backup [,...] [WITH [FILE = nmero ] [[,] {NOUNLOAD | UNLOAD}] [[,] LOADHISTORY] ]
Argumento
disp_backup FILE NOUNLOAD UNLOAD
Descrio
Especifica o dispositivo de backup (permanente ou temporrio) a ser utilizado. Especifica qual backup no dispositivo de backup deve ser examinado. No ejeta automaticamente a fita do dispositivo de fita ao trmino da execuo do comando. Retrocede e ejeta automaticamente a fita do dispositivo de fita ao trmino da execuo do comando (opo default).
LOADHISTORY Adiciona as informaes sobre o backup s tabelas de backup no banco de dados msdb. RETURN
Sai incondicionalmente de uma consulta (query) ou procedure. Os comandos que seguem RETURN no so executados.
RETURN ( [expr_inteira] )
Parmetro
expr_inteira
Significado
Valor inteiro a ser retornado como status de execuo de uma procedure.
47
Comandos REVOKE
Remove uma permisso previamente concedida (GRANT) ou negada (DENY), de um usurio no banco de dados corrente. Permisses de comandos:
REVOKE { ALL | comando [,...] } FROM usurio [,...]
Permisses de objetos:
REVOKE [GRANT OPTION FOR] { ALL [PRIVILEGES] | permisso[,...] } { [ (coluna[,...])] ON {tabela | view} | ON {tabela | view}[(coluna[,...]) ] | {stored_procedure | extended_procedure } } FROM conta [,...] [CASCADE] [AS {grupo | papel}]
Argumento
ALL comando
Descrio
Especifica que todas as permisses aplicveis esto sendo removidas. Comando para o qual a permisso est sendo revogada. Podem ser os seguintes: CREATE DATABASE, CREATE DEFAULT, CREATE PROCEDURE, CREATE RULE, CREATE TABLE, CREATE VIEW, BACKUP DATABASE e BACKUP LOG Nome do usurio de banco de dados, papel de banco de dados, usurio ou grupo do Windows NT para o qual a permisso est sendo revogada.
FROM
GRANT OPTION FOR Remove a opo de repassar as permisses para outros usurios. PRIVILEGES permisso Palavra-chave opcional que pode includa para compatibilidade com o SQL-92. Permisso de objeto que est sendo revogada: SELECT, INSERT, DELETE, UPDATE ou REFERENCES, ou EXECUTE para procedures. Nome da coluna cujas permisses devem ser revogadas. Nome da tabela no banco de dados corrente cujas permisses devem ser revogadas. Nome da view no banco de dados corrente cujas permisses devem ser revogadas.
48
Comandos stored_procedure Nome da stored procedure no banco de dados corrente cujas permisses devem ser revogadas.
extended_procedure Nome da stored procedure extended no banco de dados corrente cujas permisses devem ser revogadas. FROM CASCADE Lista de contas dos usurios. Revoga permisses que foram concedidas por um usurio que previamente recebeu a concesso WITH GRAND OPTION. Especifica o grupo ou papel utilizado. Necessrio quando existem diversos papis ou grupos do Windows NT com permisses contraditrias.
AS {grupo | papel}
ROLLBACK TRANSACTION
Cancela uma transao. Similar a ROLLBACK TRANSACTION, exceto que esta aceita um nome de transao.
ROLLBACK [WORK] SAVE TRANSACTION
Comando utilizado para atribuio de valores a variveis locais. Isso tambm pode ser feito com o comando SET @varivel_local = expr.
SELECT
Obtm linhas de um banco de dados e permite a seleo de uma ou mais linhas ou colunas de uma ou mais tabelas e/ou views. Sintaxe bsica:
SELECT colunas FROM tabela [,...] [WHERE condio] [GROUP BY lista_colunas_grupo] [HAVING condio] [ORDER BY lista_colunas_ordem [ASC | DESC] ] 49
Comandos
Sintaxe completa:
SELECT [ALL | DISTINCT] [TOP n] [PERCENT] [WITH TIES]] coluna [,...] [ INTO nova_tabela ] [ FROM tabela [,...] ] [ WHERE condio ] [ GROUP BY [ALL] expr_grupo [,...] [ WITH { CUBE | ROLLUP } ] ] [ HAVING condio ] [ ORDER BY coluna [ { ASC | DESC } ] [,...] ] [ COMPUTE funo_agregada(expr) } [,...] [BY expr [,...] ] [ FOR BROWSE ] [OPTION (opo_otimizao [,...]) ]
Argumento
ALL DISTINCT TOP n [PERCENT]
Descrio
Linhas duplicadas podem aparecer no resultado. Linhas duplicadas devem ser removidas antes das linhas serem retornadas. Retorna somente as primeiras n linhas. Caso PERCENT seja especificado, somente n% das linhas da tabela sero retornadas. Valores repetidos das colunas indicadas na clusula ORDER BY sero mostrados. Colunas que sero o resultado da query. Os nomes das colunas devem estar separados por vrgulas. O caractere * indica que todas as colunas de todas as tabelas indicadas na clusula FROM sero retornadas. Quando essa coluna tiver o mesmo nome em mais de uma tabela ser preciso indicar o nome da tabela (tabela.coluna). Cria uma nova tabela tendo como contedo as linhas resultantes da consulta. Especifica as tabelas de onde os dados sero retornados. Para mais detalhes veja a clusula FROM na pgina 52. Restringe os registros a serem retornados pela consulta queles que satisfaam a condio especificada. Agrupa dados de resumo que atendam aos critrios da clusula WHERE a serem retornados como linhas nicas. Inclui todos os grupos no resultado. Colunas ou expresses que serviro como base para o agrupamento dos resultados.
INTO FROM
WHERE
GROUP BY
ALL expr_grupo
50
Comandos CUBE Adiciona linhas de resumo ao resultado para cada combinao possvel de grupo e subgrupo. Sero adicionadas aos resultados linhas que sumarizem os valores de cada grupo para cada conjunto de funes agregadas utilizadas. Especifica uma condio de pesquisa para um grupo ou uma funo agregada. Normalmente utilizada com a clusula GROUP BY. Quando GROUP BY no for usada, HAVING comportar-se- como a clusula WHERE. Especifica o tipo de ordenao do conjunto de resultados. Pode ser nomes de colunas ou operaes feitas em colunas, como, por exemplo, substring (para tipos de dados char, varchar), datepart (para tipos de dados datetime, smalldatetime) e floor (para tipos de dados numricos), entre outras tantas expresses possveis. Especifica que os valores na coluna especificada devero ser ordenados em ordem ascendente; do menor valor para o maior valor. Especifica que os valores na coluna especificada devero ser ordenados em ordem descendente; do maior valor para o menor valor. Gera totais que aparecem como colunas de sumrio adicionais no conjunto de resultados. Com a opo BY, gera quebras e subtotais no conjunto de resultados.
ROLLUP
HAVING
ORDER BY expresso
ASC
DESC
COMPUTE
funo_agregada Nome da funo agregada a ser executada. Veja Funes de Agregao na pgina 81. expr BY expr Pode ser nome de coluna ou operaes feitas sobre as colunas. Gera quebras e subtotais cada vez que um novo grupo for criado em relao expresso indicada. Indica que podem ser feitas atualizaes por aplicaes que utilizam a DB-Library. Para isso, a tabela deve ter uma coluna do tipo timestamp e uma chave nica.
FOR BROWSE
51
Comandos
Argumento
tabela_fonte
Descrio
Indica as tabelas, views e tabelas derivadas para o comando SELECT. Nome da tabela e apelido(opcional).
nome_tabela [ [AS] apelido_tabela ] nome_view [ [AS] apelido_tabela ] Nome da view e apelido(opcional). funo_rowset [ [AS] apelido_tabela ] Nome da funo rowset (utilizada para tabelas em servidores remotos).
52
Comandos WITH Indica para o otimizador as instrues que sero utilizadas na execuo da query, porm essas instrues sero utilizadas somente nas tabelas que estiverem indicadas. Fora o otimizador a utilizar o ndice indicado. Fora a otimizao da query a trazer rapidamente a primeira linha do resultado e depois continuar a execuo normalmente. Fora o otimizador a fazer bloqueio (lock), do tipo SHARED nas pginas lidas, porm libera-o somente ao final da execuo da query. Normalmente, os locks so liberados quando as pginas bloqueadas no so mais necessrias query. Fora o otimizador a fazer a leitura de todos os dados necessrios query, independente de estarem bloqueados ou no, mesmo que estejam sendo alterados por outras transaes. Dessa forma, a query executada sem esperar o trmino da transao que est bloqueando as linhas em questo; por outro lado, correse o risco de o resultado no ser verdadeiro, pois as transaes pendentes podem no ser efetivadas. Fora o otimizador a fazer bloqueios (lock) com abrangncia de pgina em vez da tabela inteira. Isso permite que mais usurios tenham acesso aos dados da tabela, porm resulta em perda de desempenho.
INDEX FASTFIRSTROW
HOLDLOCK
NOLOCK
PAGLOCK
READCOMMITTED Fora o otimizador a fazer bloqueio (lock) do tipo SHARED nas pginas que esto sendo utilizadas, permitindo que as mesmas sejam alteradas. No entanto, as alteraes feitas durante a execuo da query no aparecero no resultado da mesma. READPAST Fora o otimizador a no ler linhas que estejam sendo alteradas por outra transao. Dessa forma, a query executada sem esperar o trmino da transao que est bloqueando a linha em questo, mesmo comprometendo o resultado final da query. ver NOLOCK acima.
READUNCOMMITTED
53
Comandos REPEATABLEREAD Fora o otimizador a fazer o bloqueio (lock) em todas as pginas utilizadas pela query, no permitindo alteraes nas mesmas. No entanto, se novas linhas forem inseridas, elas faro parte do resultado, pois so feitas vrias leituras lgicas at chegar-se ao resultado final. ROWLOCK Fora o otimizador a fazer o bloqueio (lock) de linha (row level lock) em vez de bloquear uma pgina interia. ver HOLDLOCK acima. Fora o otimizador a fazer um bloqueio (lock) do tipo SHARED na tabela inteira at o trmino da execuo da query. Fora o otimizador a fazer um bloqueio (lock) do tipo EXCLUSIVE na tabela inteira at o trmino da execuo da query. Isso faz com que ningum consiga efetuar alteraes nem consultas nessa tabela enquanto o lock estiver ativo. Fora o otimizador a fazer um bloqueio (lock) do tipo UPDATE nas pginas lidas enquanto a query estiver sendo executada. Isso faz com que ningum consiga efetuar consultas ou alteraes nessas pginas ou na tabela inteira. Resultado de um comando select, que pode ser colocado como uma tabela derivada. apelido_coluna tabela_join Apelido da coluna. Tabela que se relaciona com outra tabela indicada na clusula FROM, de forma que somente as linhas onde as chaves de ambas so correspondentes sero retornadas. Tipo de Join. Todas as linhas onde as chaves so correspondentes sero retornadas (default). Todas as linhas da tabela esquerda sero retornadas. Aquelas que no encontrarem suas correspondentes na tabela direita tero como resultado o valor NULL. Todas as linhas da tabela direita sero retornadas.Aquelasquenoencontraremsuas correspondentes na tabela esquerda tero como resultado o valor NULL.
SERIALIZABLE TABLOCK
TABLOCKX
UPDLOCK
tipo_join INNER
LEFT [OUTER]
RIGHT [OUTER]
54
Comandos FULL [OUTER] Sero retornadas as colunas que no encontrarem suas correspondentes esquerda ou direita, porm com valor NULL. Indica que as tabelas ou views especificadas tero uma operao de Join, que significa uma relao entre elas, buscando como resultado as chaves correspondentes. Condio em que a operao de Join se baseia.
JOIN
ON condio
Clusula UNION Combina o resultado de duas ou mais consultas em um nico conjunto de resultados, consistindo de todas as linhas pertencentes a todas as consultas da unio.
{ especificao_query | ( expresso_query ) } UNION [ALL] especificao_query | ( expresso_query ) [UNION [ALL] especificao_query | ( expresso_query ) [...] ]
Argumento
Descrio
Definio completa de uma query; ou seja, comando SELECT contendo a lista de colunas e condies.
especificao_query | ( expresso_query )
UNION
Indica a unio dos resultados de duas ou mais queries. Para isso, a quantidade de colunas e os tipos de dados devem ser correspondentes. Indica que linhas duplicadas sero mostradas.
ALL
Clusula OPTION Indica que as instrues para o otimizador sero vlidas por toda a query.
OPTION (instruo [,...]) Instruo ::= { { HASH | ORDER } GROUP | { CONCAT | HASH | MERGE } UNION | { LOOP | MERGE | HASH } JOIN | FAST nmero_linhas | FORCE ORDER | MAXDOP nmero | ROBUST PLAN | KEEP PLAN }
55
Comandos
Argumento
GROUP
Descrio
Especifica que as agregaes descritas nas clusulas GROUP BY ou COMPUTE da query devem usar hashing (HASH) ou ordenao (ORDER). Operaes UNION so feitas utilizando merge (MERGE), hash (HASH) ou concatenao (CONCAT). Todas operaes de join utilizam loop (LOOP), merge (MERGE) ou hash (HASH). A query executada de forma otimizada at trazer as primeiras 'n' linhas e depois continua a execuo normal at o final.
UNION
JOIN FAST
FORCE ORDER Especifica que a join order indicada pela sintaxe da consulta ser preservada durante a otimizao da consulta. MAXDOP Sobrepe a opo de configurao max degree of parallelism (de sp_configure) somente para a consulta especificada nesta opo. Fora o otimizador a tentar um plano para atingir o tamanho mximo potencial da linha em detrimento do desempenho. Fora o otimizador a no fazer a recompilao do plano de execuo quando ele calcular que deveria.
ROBUST PLAN
KEEP PLAN
SET
Comandos SET definem opes para a sesso corrente do usurio. Para mais informaes sobre comandos SET veja as pginas 73 a 80.
SETUSER
Permite que um usurio com o papel sysadmin possa se passar por outro usurio. Instruo obsoleta, mantida apenas para compatibilidade retroativa.
SETUSER [ 'usurio' [ WITH NORESET ] ]
56
Comandos
Argumento
usurio
Descrio
Nome da conta do usurio pelo qual o Sysadmin quer se passar.
WITH NORESET Especifica quais instrues SETUSER subseqentes (sem o nome do usurio especificado) no reinicializaro o administrador do sistema ou o proprietrio do banco de dados. SHUTDOWN
Interrompe a execuo do SQL Server. Somente o administrador do sistema pode executar este comando.
SHUTDOWN [ WITH NOWAIT ]
Parmetro
WITH NOWAIT
Descrio
Interrompe imediatamente, sem executar pontos de verificao (checkpoints) em cada banco de dados.
TRUNCATE TABLE
Comandos Clusula OPTION ::= { { HASH | ORDER } GROUP | { CONCAT | HASH | MERGE } UNION | {LOOP | MERGE | HASH} JOIN | FAST nmero_linhas | FORCE ORDER | MAXDOP | ROBUST PLAN | KEEP PLAN }
Argumento
nome_tabela WITH
Descrio
Nome da tabela a ser atualizada. Especifica as instrues para o otimizador. Para mais detalhes veja a clusula FROM do comando SELECT na pgina 52. Nome da view a ser atualizada. Lista de colunas a serem atualizadas. Nome da coluna que ser atualizada. Expresso cujo resultado ser colocado na coluna ou varvel que est sendo atualizada. O valor default definido na coluna ser colocado na mesma. Nome da varivel que ser atualizada. Tabelas utilizadas para definir o critrio do conjunto de dados que ser atualizado. Para mais detalhes, veja a clusula FROM do comando SELECT na pgina 52. Condies que devem ser satisfeitas para formar o conjunto de dados a ser atualizado. Quando estiver atualizando dados atravs de um cursor, utilize a clusula CURRENT OF nome_cursor, que define a linha atual do cursor. Especifica as instrues que sero passadas ao otimizador. Para mais detalhes, veja a clusula OPTION do comando SELECT na pgina 55.
WHERE
OPTION
58
Comandos UPDATETEXT
Atualiza um campo text, ntext ou image. Utilize o UPDATETEXT para alterar uma parte de uma coluna do tipo text, ntext, ou image. Para alterar todo o contedo das colunas desses tipos de dados, utilize o comando WRITETEXT.
UPDATETEXT {tabela_dest.coluna_dest texto_ptr_dest } { NULL | insert_offset } { NULL | tamanho_delete } [WITH LOG] [ posio_insert | {tabela.coluna texto_ptr_fonte} ]
Argumento
Descrio
Nome da tabela e coluna com tipo text, ntext ou image a serem atualizadas.
tabela_dest.coluna_dest
texto_ptr_dest
Valor (binary(16)) de ponteiro de texto (retornado pela funo TEXTPTR) que aponta para os dados do tipo text, ntext ou image a serem atualizados. Posio inicial a partir da qual os dados sero atualizados.
insert_offset
tamanho_delete Tamanho (em bytes) da poro de dados a ser removida. WITH LOG Especifica que os dados inseridos do tipo text, ntext ou image sero registrados em arquivos de log. Possibilita a recuperao, mas pode rapidamente aumentar o tamanho do log de transaes. Os dados sero inseridos na coluna, na posio definida por este parmetro. Nome da tabela e coluna utilizadas como fonte dos dados inseridos. Ponteiro para a coluna indicada como fonte de dados para a atualizao.
UPDATE STATISTICS
Atualiza as informaes sobre a distribuio dos valoreschave de um ou mais ndices na tabela especificada. automaticamente executado quando um ndice criado em uma tabela que contm dados.
UPDATE STATISTICS tabela [ ndice | (nome_estatstica[,...] ) ] [ WITH [ [FULLSCAN] | SAMPLE nmero { PERCENT | ROWS } ] ] [ [,] [ ALL | COLUMNS | INDEX ] [ [,] NORECOMPUTE] ] 59
Comandos
Argumento
tabela
Descrio
Nome da tabela para a qual as informaes estatsticas esto sendo atualizadas. Nome do ndice para o qual as informaes estatsticas esto sendo atualizadas. Nome da estatstica criada com o comando CREATE STATISTCS. Efetua a varredura completa do ndice ou tabela ao acumular as informaes estatsticas. O mesmo que SAMPLE 100 PERCENT. Especifica as linhas que sero tomadas por amostragem para o clculo das estatsticas. Esse nmero pode ser um percentual ou um valor absoluto correspondente quantidade de linhas.
ndice
nome_estatstica FULLSCAN
Especifica se o comando UPDATE STATISTICS afetar as informaes estatsticas de coluna e ndices, ou todas as informaes estatsticas existentes. No recalcula automaticamente informaes estatsticas desatualizadas.
NORECOMPUTE
USE
Especifica um intervalo de tempo que o SQL Server deve esperar antes de executar o prximo comando ou procedure no lote, ou determina um horrio para execuo do comando.
WAITFOR { DELAY 'horrio' | TIME 'horrio' }
Parmetro
DELAY TIME
Descrio
O SQL Server deve esperar o perodo de tempo especificado (no mximo 24 horas). O SQL Server deve esperar at o horrio especificado (no formato tipo datetime).
60
Comandos WHILE
Executa um comando_sql ou um bloco de comandos enquanto uma condio for verdadeira. A condio verificada antes da execuo do comando SQL ou bloco de comandos.
WHILE condio { comando_sql | bloco_comandos } [BREAK] { comando_sql | bloco_comandos } [ CONTINUE ]
Parmetro
condio
Descrio
Uma expresso que retorna True ou False. Se a condio contiver um comando SELECT, ele dever estar entre parnteses. Comando SQL ou bloco de comandos SQL delimitados pelas palavras-chave BEGIN e END.
comando_sql | bloco_comandos
Permite a atualizao interativa de uma coluna do tipo text, ntext ou image. No pode ser usado em colunas do tipo text, ntext e image em views.
WRITETEXT { tabela.coluna texto_ptr } [ WITH LOG ] { dados }
Argumento
tabela.coluna texto_ptr WITH LOG
Descrio
Nome da tabela e coluna do tipo text, ntext ou image a serem atualizadas. Valor (tipo binary(16)) que armazena o ponteiro para os dados do tipo text, ntext ou image. Grava a transao no log de transaes. Atentar para o fato de que transaes com os tipos de dados text, ntext, ou image ocupam muito espao no log. Dados do tipo text, ntext ou image a serem armazenados.
data
61
DBCC
Comandos DBCC
DBCC CHECKALLOC
Verifica e tenta corrigir, quando necessrio, a alocao e uso de todas as pginas em um banco de dados.
DBCC CHECKALLOC ( 'nome_bd' [, NOINDEX | { REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD } ]) [ WITH { ALL_ERRORMSGS | NO_INFOMSGS } ]
Argumento
nome_bd NOINDEX
Descrio
Nome do banco de dados. No verifica ndices no clusterizados. Corrige a alocao das pginas, removendo objetos corrompidos que estejam causando a perda dos dados que esto nesses objetos.
REPAIR_ALLOW_DATA_LOSS
REPAIR_FAST
Tenta corrigir eventuais inconsistncias, mas no remove objetos que eventualmente estejam corrompidos. Tenta corrigir a alocao das pginas. Caso todas as eventuais inconsistncias tenham sido corrigidas, reconstri todos os ndices do banco de dados. Mensagens a serem retornadas. Exibe somente significativas. as mensagens
REPAIR_REBUID
WITH NO_INFOMSGS
DBCC CHECKCATALOG
Verifica e tenta corrigir, quando necessrio, a consistncia das tabelas do sistema e a integridade referencial entre elas.
DBCC CHECKCATALOG ( 'nome_bd') [WITH NO_INFOMSGS]
Argumento
nome_bd
Descrio
Nome do banco de dados.
WITH NO_INFOMSGS Exibe somente as mensagens significativas. Se no especificado, exibir todas as mensagens de erro. 62
Verifica e tenta corrigir, quando necessrio, a alocao de pginas e a integridade estrutural de todos os objetos em um banco de dados.
DBCC CHECKDB ('nome_bd' [, NOINDEX | { REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD }] ) [WITH {ALL_ERRORMSGS | NO_INFOMSGS}]
Argumento
nome_bd NOINDEX
Descrio
Nome do banco de dados. No verifica ndices no clusterizados. Corrige a alocao das pginas, removendo objetos corrompidos que estejam causando a perda dos dados que esto nesses objetos.
REPAIR_ALLOW_DATA_LOSS
REPAIR_FAST
Tenta corrigir eventuais inconsistncias, mas no remove objetos que eventualmente estejam corrompidos. Tenta corrigir a alocao das pginas. Caso todas as eventuais inconsistncias tenham sido corrigidas, reconstri todos os ndices do banco de dados. Mensagens a serem retornadas. Exibe somente significativas. as mensagens
REPAIR_REBUID
WITH NO_INFOMSGS
63
Verifica e tenta corrigir, quando necessrio, a alocao das pginas em um grupo de arquivos utilizado pelo banco de dados corrente. Para saber mais sobre grupos de arquivos, veja o comando CREATE DATABASE.
DBCC CHECKFILEGROUP ( [{'filegroup' | filegroup_id}] [, NOINDEX] ) [WITH {ALL_ERRORMSGS | NO_INFOMSGS}]
Argumento
filegroup filegroup_id NOINDEX WITH NO_INFOMSGS
Descrio
Nome do grupo de arquivos. Identificador do grupo de arquivos. No verifica ndices no clusterizados. Mensagens a serem retornadas. Exibe somente significativas. as mensagens
DBCC CHECKIDENT
Verifica e corrige o valor atual da coluna de autoincremento (IDENTITY) em uma tabela especfica. Para saber mais sobre colunas do tipo auto-incremento (IDENTITY), veja o comando CREATE TABLE.
DBCC CHECKIDENT ( 'nome_tabela' [, { NORESEED | {RESEED [, novo_valor ]} }] )
Argumento
nome_tabela NORESEED RESEED novo_valor
Descrio
Nome da tabela a ser verificada, que deve conter uma coluna com o atributo IDENTITY. No corrige o valor para gerao automtica da coluna de auto-incremento. Atualiza o valor de gerao automtica, pelo valor indicado em novo_valor. Novo valor a ser colocado na prxima chave gerada para a tabela.
64
Verifica a integridade e alocao dos dados em uma tabela e seus respectivos ndices.
DBCC CHECKTABLE ( 'nome_tabela' [, NOINDEX | index_id | { REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD } ] ) [ WITH { ALL_ERRORMSGS | NO_INFOMSGS } ]
Argumento
nome_tabela NOINDEX index_id
Descrio
Nome da tabela. No verifica ndices no clusterizados. Identificador do ndice que ser verificado. Corrige a alocao das pginas, removendo objetos corrompidos que estejam causando a perda dos dados que esto nesses objetos.
REPAIR_ALLOW_DATA_LOSS
REPAIR_FAST
Tenta corrigir eventuais inconsistncias, mas no remove objetos que eventualmente estejam corrompidos. Tenta corrigir a alocao das pginas. Caso todas as eventuais inconsistncias tenham sido corrigidas, reconstri todos os ndices do banco de dados. Mensagens a serem retornadas. Exibe todas as mensagens de erro. Exibe somente as mensagens significativas.
REPAIR_REBUID
DBCC DBREPAIR
Elimina um banco de dados danificado. Comando obsoleto, mantido apenas para compatibilidade com verses anteriores. Recomenda-se utilizar o comando DROP DATABASE.
65
Argumento
Descrio
Nome da tabela.
nome_bd.nome_dono.nome_tabela nome_ndice Nome do ndice a ser recriado. Se no especificado, todos os ndices sero recriados. Porcentagem do espao preenchido em cada pgina do ndice. Ganha-se em desempenho quando as pginas no so preenchidas por completo na criao dos ndices, porm o espao ocupado maior. as mensagens
fator_preench
Retira da memria uma DLL (Dynamic Link Library) que contenha as funes utilizadas por procedures estendidas.
DBCC HELP
Argumento
comando_dbcc ?
Descrio
Comando DBCC do qual se quer saber a sintaxe. Mostra todas as opes disponveis no help.
DBCC INPUTBUFFER
Argumento Descrio
spid Nmero da conexo do usurio. Ser mostrado o ltimo comando dessa conexo. Para saber o nmero da conexo, utilize a procedure sp_who (veja no Guia de Consulta Rpida SQL Server 7 System Procedures desta mesma Editora).
66
Comando obsoleto, mantido apenas para compatibilidade retroativa. Recomenda-se utilizar DBCC CHECKALLOC.
DBCC OPENTRAN
Mostra informaes da transao ativa mais antiga em um banco de dados. Transaes de replicao tambm so consideradas.
DBCC OPENTRAN ( { 'nome_db' | id_bd } ) [ WITH TABLERESULTS [, NO_INFOMSGS]]
Argumento
nome_bd id_bd
Descrio
Nome do banco de dados. Identificador do banco de dados.
WITH TABLERESULTS Indica que os resultados devem ser formatados tabularmente, permitindo inclui-los em uma tabela. NO_INFOMSGS Exibe somente as mensagens de erro significativas.
DBCC OUTPUTBUFFER
Mostra as informaes, em formato hexadecimal e ASCII, do buffer de sada associado a uma conexo do usurio. O buffer de sada contm os resultados do ltimo comando processado pelo usurio.
DBCC OUTPUTBUFFER (spid)
Argumento Descrio
spid Identificador da conexo do usurio, que pode ser obtido com a procedure sp_who.
DBCC PINTABLE
Mantm na memria RAM do servidor cpias das pginas de uma tabela medida que so lidas. Pode melhorar o desempenho, porm diminui o total de memria disponvel para as outras operaes do SQL Server.
DBCC PINTABLE (id_banco_dados, id_tabela)
Argumento
Descrio
id_banco_dados Identificador do banco de dados, que pode ser obtido utilizando a funo db_id(). id_tabela Identificador da tabela, que pode ser obtido utilizando a funo object_id(). 67
Mantido para compatibilidade com a verso 6.5. Sua funo j est implcita no SQL Server 7.
DBCC SHOWCONTIG
Argumento Descrio
id_tabela id_ndice Identificador da tabela, que pode ser obtido com a funo object_id(). Identificador do ndice, que pode ser obtido consultando a tabela sysindexes.
DBCC SHOW_STATISTICS
Argumento
nome_tabela target
Descrio
Nome da tabela. Nome do ndice ou coleo utilizada em objetos de suporte a deciso (DSO-DecisionSupport Objects).
68
Argumento
nome_bd porcent NOTRUNCATE
Descrio
Nome do banco de dados. Percentual de espao livre desejado aps a reduo do tamanho dos arquivos. O espao liberado continua sendo utilizado pelo SQL Server e no aparece como espao livre para o sistema operacional. O espao liberado deixa de ser utilizado pelo SQL Server e fica disposio do sistema operacional.
TRUNCATEONLY
DBCC SHRINKFILE
Argumento
nome_arq id_arq tamanho EMPTYFILE
Descrio
Nome do arquivo de dados ou log. Identificador do arquivo. Para obter essa informao, consulte a tabela sysfiles. Novo tamanho desejado (MB). Esvazia o arquivo especificado, migrando todos os dados para outros arquivos do mesmo grupo de arquivos, o que permite que esse arquivo seja eliminado utilizando o comando ALTER DATABASE. O espao liberado continua sendo utilizado pelo SQL Server e no aparece como espao livre para o sistema operacional. O espao liberado deixa de ser utilizado pelo SQL Server e fica disposio do sistema operacional.
NOTRUNCATE
TRUNCATEONLY
69
Fornece estatsticas sobre o espao do log de transaes em todos os bancos de dados. O log de transaes mantm informaes sobre alteraes de dados em cada banco de dados. Essas estatsticas podem ser utilizadas para monitorar a quantidade de espao utilizado e indica quando efetuar o backup ou esvaziar o log de transaes.
DBCC SQLPERF (LOGSPACE) DBCC TEXTALL
Executa o DBCC TEXTALLOC em todas as tabelas que contenham colunas com tipos de dados Text, Ntext ou Image. Mantido para compatibilidade com as verses anteriores. Recomenda-se a utilizao do comando DBCC CHECKDB.
DBCC TEXTALLOC
Verifica e corrige a alocao dos dados em colunas dos tipos Text, Ntext ou Image. Comando obsoleto, mantido apenas para compatibilidade retroativa. Recomenda-se a utilizao do comando DBCC CHECKDB.
DBCC TRACEOFF
Desabilita um trace flag. Trace Flags so utilizados para modificar algumas caractersticas especficas do SQL Server e devem ser usados por DBAs experientes ou com o auxlio do suporte da Microsoft.
DBCC TRACEOFF (num_trace [,...])
Argumento Descrio
num_trace Nmero de identificao do trace flag a ser desabilitado. Veja a lista de trace flags disponveis na documentao on-line do SQL Server.
70
Habilita um trace flag. Trace Flags so utilizados para modificar algumas caractersticas especficas do SQL Server e devem ser usados por DBAs experientes ou com o auxlio do suporte da Microsoft.
DBCC TRACEON (num_trace [,...])
Argumento Descrio
num_trace Nmero de identificao do trace flag a ser habilitado. Veja a lista de trace flags disponveis na documentao on-line do SQL Server.
DBCC TRACESTATUS
Argumento Descrio
num_trace Nmero de identificao do trace flag cujo status ser verificado.
DBCC UNPINTABLE
Retira da memria RAM do servidor as pginas de uma tabela que tenham sido colocadas aps a utilizao do comando DBCC PINTABLE, liberando mais espao para as operaes normais de cache de dados do SQL Server.
DBCC UNPINTABLE (id_bd, id_tabela)
Argumento Descrio
id_bd id_tabela Identificador do banco de dados, que pode ser obtido utilizando a funo db_id(). Identificador da tabela, que pode ser obtido utilizando a funo object_id().
71
Atualiza as informaes de alocao de pginas e espao disponvel de uma tabela, para que o otimizador possa tomar decises mais precisas. Tambm afeta o resultado da procedure sp_spaceused.
DBCC UPDATEUSAGE ( {'nome_bd' | 0} [, 'nome_tabela' [, id_ndice] ] ) [ WITH [COUNT_ROWS] [, NO_INFOMSGS ] ]
Argumento
nome_bd | 0 nome_tabela id_ndice WITH
Descrio
Nome do banco de dados. Se for especificado 0, ser utilizado o banco de dados corrente. Nome da tabela. Nmero identificador do ndice. Mensagens a serem retornadas.
COUNT_ROWS Indica que a coluna ROWS da tabela sysindexes ser atualizada com a quantidade atual de linhas da tabela. NO_INFOMSGS Exibe somente as mensagens significativas. DBCC USEROPTIONS
72
SET
Comandos SET
SET ANSI_DEFAULTS
Utiliza (ON) ou no (OFF) o padro SQL-92 para o conjunto de configuraes abaixo. SET ANSI_DEFAULTS SET ANSI_NULLS SET ANSI_NULL_DFLT_ON SET ANSI_PADDING SET ANSI_WARNINGS SET CURSOR_CLOSE_ON_COMMIT SET IMPLICIT_TRANSACTIONS SET QUOTED_IDENTIFIER
SET ANSI_NULL_DFLT_OFF
Altera (ON) ou no (OFF) a opo ANSI NULL DEFAULT para FALSE, somente para a sesso corrente. Caso a propriedade de nulidade no seja especificada nos comandos de criao de novas tabelas, fica definida por default como NOT NULL para todas as colunas.
SET ANSI_NULL_DFLT_OFF {ON | OFF} SET ANSI_NULL_DFLT_ON
Altera (ON) ou no (OFF) a opo ANSI NULL DEFAULT para TRUE, somente para a sesso corrente. Caso a propriedade de nulidade no seja especificada nos comandos de criao de novas tabelas, fica definida por default como NOT NULL para todas as colunas.
SET ANSI_NULL_DFLT_ON {ON | OFF} SET ANSI_NULLS
Utiliza (ON) ou no (OFF) o padro SQL-92 para comparaes (igualdade (=) ou desigualdade (<>)) envolvendo valores nulos (NULL). O padro SQL-92 define que valores nulos no podem ser comparados por igualdades ou desigualdades, mas sim por IS ou IS NOT.
SET ANSI_NULLS {ON | OFF}
73
Utiliza (ON) ou no (OFF) o padro SQL-92 para preenchimento de colunas do tipo char, varchar, binary e varbinary. O padro SQL-92 define que espaos em branco no significativos ( direita do ltimo caractere do string) em colunas do tipo char ou varchar sero armazenados, assim como zeros esquerda em colunas do tipo binary ou varbinary.
SET ANSI_PADDING {ON | OFF} SET ANSI_WARNINGS
Utiliza (ON) ou no (OFF) o padro SQL-92 na ocorrncia de algumas situaes de erro. Para situaes do tipo diviso por zero e clculo de funes agregadas envolvendo valores nulos, o padro SQL-92 define que devem ser mostradas mensagens de alerta.
SET ANSI_WARNINGS {ON | OFF} SET ARITHABORT
Encerra (ON) ou no (OFF) a query e desfaz a transao quando ocorrer overflow (o valor atribudo a uma varivel ou coluna ultrapassa o limite do tipo de dados) ou diviso por zero.
SET ARITHABORT {ON | OFF} SET ARITHIGNORE
Continua (ON) ou no (OFF) a execuo de uma query quando ocorrer overflow ou diviso por zero.
SET ARITHIGNORE {ON | OFF} SET CONCAT_NULL_YIELDS_NULL
Controla o comportamento do SQL Server em operaes de concatenao de strings e valores nulos. Se habilitado (ON), o resultado de xpto + null ser xpto. Se desabilitado (OFF), o resultado de xpto + null ser null.
SET CONCAT_NULL_YIELDS_NULL {ON | OFF} SET CURSOR_CLOSE_ON_COMMIT
Fecha (ON) ou no (OFF) o cursor quando for feito um commit para a transao.
SET CURSOR_CLOSE_ON_COMMIT {ON | OFF} 74
dia
da
semana
Argumento Descrio
nmero Dia que ser definido como o primeiro da semana (1=Segunda,...7=Domingo).
SET DATEFORMAT
Argumento Descrio
formato Ordem relativa das partes da data. Parmetros vlidos: mdy (default), dmy, ymd, ydm, myd, e dym, onde d=dia, m=ms, y=ano.
SET DEADLOCK_PRIORITY
Define o comportamento do SQL Server em situaes de deadlock (quando dois processos se bloqueiam mutuamente) envolvendo a conexo corrente.
SET DEADLOCK_PRIORITY {LOW | NORMAL | @deadlock_var}
Argumento
LOW
Descrio
Indica que a sesso corrente ser sempre escolhida para ser interrompida em caso de deadlock. Utiliza o mtodo padro do SQL Server para tratamento de situaes de deadlock. Varivel do tipo Char ou Varchar, que conter a prioridade de deadlock para a sesso corrente. Caso seu contedo seja 3, indica LOW, caso seja 6 indica NORMAL.
NORMAL @deadlock_var
SET DISABLE_DEF_CNST_CHK
Comando obsoleto, mantido para compatibilidade com verses anteriores. Sua funcionalidade j faz parte do SQL Server.
75
Verifica a compatibilidade com o padro FIPS 127-2 (Federal Information Processing Standard), padro definido pelo governo americano para sistemas de informao. No caso de servidores de bancos de dados, o padro FIPS 127-2 baseado nas definies do SQL92.
SET FIPS_FLAGGER nvel
Argumento
nvel ENTRY FULL OFF
Descrio
Nvel de compatibilidade com o padro FIPS 127-2. Compatibilidade mnima. Compatibilidate total. No ativa a checagem de compatibilidade com o padro FIPS 127-2.
SET FMTONLY
Retorna somente a estrutura dos resultados (ON) ou os resultados completos (OFF) que seriam trazidos pelas queries.
SET FMTONLY {ON | OFF} SET FORCEPLAN
Fora (ON) ou no (OFF) o otimizador a processar uma juno (join) utilizando as tabelas na ordem em que foram colocadas na clusula FROM.
SET FORCEPLAN {ON | OFF} SET IDENTITY_INSERT
Permite que valores explcitos possam ser colocados em colunas com a propriedade de auto-incrmento (identity).
SET IDENTITY_INSERT [nome_bd.[nome_dono.]]{nome_tabela} {ON | OFF}
Argumento
nome_bd nome_dono nome_tabela
Descrio
Nome do banco de dados. Nome do proprietrio da tabela. Nome da tabela que possui a coluna com propriedade de auto-incremento.
76
Utiliza (ON) ou no (OFF) o modo de transao implcita para a conexo. Modo de transao implcita significa que a cada comando executado, o SQL Server gerar um commit automtico. Para transaes explcitas, o SQL Server s completar a transao aps um comando de commit feito explicitamente pelo usurio.
SET IMPLICIT_TRANSACTIONS {ON | OFF} SET LANGUAGE
Configura o idioma utilizado para a conexo (sesso). O idioma tambm determina o formato de data/hora, alm dos textos de mensagens do sistema.
SET LANGUAGE {[N]'idioma'}
Argumento Descrio
[N]'idioma' Nome do idioma que j deve estar instalado no SQL Server. Para saber quais esto disponveis, veja a tabela syslanguages no banco de dados master. Para especificar um idioma no formato Unicode, utilize o formato N'idioma'
SET LOCK_TIMEOUT
Especifica o tempo (em milissegundos) que um comando deve esperar at um lock ser liberado. Passado esse tempo, uma mensagem de erro ser mostrada e o comando ser interrompido.
SET LOCK_TIMEOUT perodo
Argumento
periodo
Descrio
Perodo (em milissegundos) que o SQL Server aguardar para que o lock seja liberado.
SET NOCOUNT
Exibe (ON) ou no (OFF) a mensagem indicando o nmero de linhas afetadas por um comando TransactSQL. No afeta a varivel global @@rowcount.
SET NOCOUNT {ON | OFF} SET NOEXEC
Configura o SQL Server para apenas compilar (ON) ou compilar e executar (OFF) as queries.
SET NOEXEC {ON | OFF}
77
Gera (ON) ou no (OFF) um erro quando o arredondamento em uma expresso ocasionar perda de preciso.
SET NUMERIC_ROUNDABORT {ON | OFF} SET OFFSETS
Retorna o offset (posio relativa ao incio de um comando) das palavras-chave especificadas nos comandos Transact-SQL para aplicaes DB-Library.
SET OFFSETS palavra-chave, ... SET PARSEONLY
Verifica somente a sintaxe (ON) ou verifica a sintaxe e executa cada comando (OFF) Transact-SQL.
SET PARSEONLY {ON | OFF} SET PROCID
Retorna (ON) ou no (OFF) o nmero de identificao de uma stored procedure para aplicaes DB-Library antes de enviar o resultado gerado pela stored procedure.
SET PROCID {ON | OFF} SET QUERY_GOVERNOR_COST_LIMIT
Altera o valor da opo QUERY_GOVERNOR_COST_LIMIT configurada com a procedure sp_configure. Esta opo limita o tempo de execuo de uma query.
SET QUERY_GOVERNOR_COST_LIMIT valor
Argumento Descrio
valor Tempo limite (em segundos) que uma query pode ficar executando. Caso o otimizador calcule que a query consumir mais tempo que o permitido, o processamento ser interrompido.
SET QUOTED_IDENTIFIER
Utiliza (ON) ou no (OFF) o padro SQL-92 para a identificao de objetos. O padro SQL-92 define que podem ser colocados caracteres especiais (como espaos em branco) ou palavras reservadas (como SELECT) nos nomes dos objetos, desde que colocados entre aspas duplas ().
SET QUOTED_IDENTIFIER {ON | OFF} 78
Cria (ON) ou no (OFF) uma transao distribuda quando estiver executando uma procedure remota a partir da transao local.
SET REMOTE_PROC_TRANSACTIONS {ON | OFF} SET ROWCOUNT
Especifica o nmero mximo de linhas que sero retornadas por uma query.
SET ROWCOUNT nmero SET SHOWPLAN_ALL
Mostra (ON) ou no (OFF) informaes detalhadas da execuo dos comandos e estimativa dos recursos necessrios para cada execuo.
SET SHOWPLAN_ALL {ON | OFF} SET SHOWPLAN_TEXT
Mostra (ON) ou no (OFF) informaes detalhadas sobre como os comandos seriam executados, sem contudo execut-los.
SET SHOWPLAN_TEXT {ON | OFF} SET STATISTICS IO
Mostra (ON) ou no (OFF) informaes estatsticas sobre a atividade de disco gerada pelos comandos Transact-SQL.
SET STATISTICS IO {ON | OFF} SET STATISTICS PROFILE
Mostra (ON) ou no (OFF) informaes estatsticas aps a execuo de uma query, indicando tempo de CPU utilizado, ndices, quantidade de linhas afetadas, alm de outras informaes teis.
SET STATISTICS PROFILE {ON | OFF} SET STATISTICS TIME
Mostra (ON) ou no (OFF) o tempo (em milissegundos) utilizado para verificar sintaxe, compilar e executar cada comando.
SET STATISTICS TIME {ON | OFF}
79
Especifica a quantidade de bytes que sero retornados por um comando SELECT, para colunas com tipos de dados Text ou Ntext. Afeta a varivel @@TEXTSIZE.
SET TEXTSIZE numbytes SET TRANSACTION ISOLATION LEVEL
Argumento
READ COMMITTED
Descrio
Indica que as alteraes feitas por uma transao (X) s ficaro disponveis para outras transaes aps o COMMIT ou ROLLBACK da transao (X). Apesar de diminuir a disponibilidade dos dados (os dados s ficam disponveis aps um COMMIT ou ROLLBACK), garante a preciso das queries.
READ UNCOMMITTED Indica que as alteraes feitas por uma transao (X) ficaro disponveis para as outras transaes, independente de ter sido executado um COMMIT ou ROLLBACK. Aumenta a disponibilidade dos dados, mas diminui a preciso das queries por estar fazendo operaes em dados que podem ser desfeitos por um comando ROLLBACK. REPEATABLE READ Caso seja necessrio ler uma linha da tabela mais do que uma vez na mesma transao, esta opo no permite que sejam feitas modificaes nessa linha at que um comando COMMIT ou ROLLBACK seja executado. Isso garante que a transao tenha sempre o mesmo valor. No permite modificaes nas pginas afetadas por uma transao, at que seja executado um COMMIT.
SERIALIZABLE
SET XACT_ABORT
Executa (ON) automaticamente ou no (OFF) um comando ROLLBACK quando ocorrer algum erro na transao.
SET XACT_ABORT{ON | OFF} 80
Funes de Agregao
Funes de Agregao
Sintaxe
funo_agregada ([ALL | DISTINCT] expresso)
Argumento
Descrio
funo_agregada Especifica a funo. Pode ser SUM, AVG, COUNT, MIN, MAX. expresso Pode ser o nome de uma coluna, uma constante, uma funo ou qualquer combinao de colunas, constantes e funes. Aplica a funo de agregao para todos os valores. Elimina valores duplicados antes de aplicar a funo de agregao.
AVG
Retorna a mdia dos valores em uma expresso numrica. Valores NULL so ignorados.
COUNT
Adiciona uma nova coluna ao resultado das queries que utilizam os operadores CUBE ou ROLLUP. Essa coluna conter o valor 1 caso a linha tenha sido criada por CUBE ou ROLLUP, facilitando a identificao nos resultados.
GROUPING(nome_coluna)
Argumento Descrio
nome_coluna Coluna pertencente clusula GROUP BY da query. MAX
81
82
Funes de Configurao
Funes de Configurao
@@CONNECTIONS
Retorna o nmero de conexes ou tentativas de conexo desde que o SQL Server foi inicializado.
@@DATEFIRST
Retorna o valor corrente do parmetro SET DATEFIRST, que indica o primeiro dia de cada semana (1-Seg, 7-Sab).
@@DBTS
Retorna o nmero mximo de conexes simultneas que podem ser configuradas com a procedure sp_configure.
@@MAX_PRECISION
Retorna o nvel de preciso corrente utilizado nos tipos de dados decimal e numeric.
@@NESTLEVEL
Retorna o nvel de aninhamento de execuo da stored procedure ou trigger corrente. Cada vez que um trigger ou uma stored procedure chama outro trigger ou stored procedure, o nvel de aninhamento incrementado. Quando o mximo de 32 atingido, a transao encerrada.
83
Retorna o nome de um servidor remoto. til para identificar de qual servidor partiu a chamada de uma procedure que est no servidor local.
@@SERVERNAME
Retorna o nome da chave no Registry sob a qual o SQL Server est sendo executado.
@@SPID
Retorna a data, a verso e o tipo do processador utilizado na instalao corrente do SQL Server.
84
Funes de Cursor
Funes de Cursor
@@CURSOR_ROWS
Varivel que contm a quantidade de linhas do ltimo cursor aberto na conexo corrente.
@@CURSOR_ROWS
Valor
-m
Significado
O cursor est sendo preenchido no modo assncrono. O valor retornado (-m) o nmero de linhas corrente no keyset. Cursor dinmico. No possvel determinar se todas as linhas qualificadas j foram trazidas. No h cursor aberto, ou no foi trazida nenhuma linha do ltimo cursor aberto. Total de linhas trazidas pelo cursor.
-1 0 n
CURSOR_STATUS
Permite ao chamador de uma stored procedure determinar se a procedure retornou um cursor e um resultset para um determinado parmetro.
CURSOR_STATUS ( { 'local', 'nome_cursor'} | {'global', 'nome_cursor'} | {'varivel', 'nome_var_cursor'} )
Argumento
local nome_cursor global varivel nome_var_cursor
Descrio
Indica que o cursor local. Nome do cursor. Indica que o cursor global. Indica que o cursor uma varivel local. Nome da varivel com tipo de dados CURSOR.
@@FETCH_STATUS
Valor
0 -1 -2
Significado
O comando FETCH foi executado com sucesso. Indica que houve tentativa de passar o final ou o incio do cursor. Tentativa de trazer uma linha que j no existe mais. 85
Abreviaes
yy, yyyy qq, q mm, m dy, y dd, d wk, ww hh mi, n ss, s
Retorna uma nova data baseado na soma do nmero de unidades especificadas pelo valor unidade a uma data (ver tabela descritiva na pgina acima).
DATEADD(unidade, nmero_unid, data) DATEDIFF
Calcula a diferena entre as duas partes da data data1 e data2, e retorna o resultado como um inteiro, em unidades especificadas por unidade (ver tabela descritiva na pgina acima).
DATEDIFF(unidade, data1, data2) DATENAME
Retorna a parte unidade especificada da data como um string de caracteres (Mon, Tue, ...,) (ver tabela descritiva na pgina acima)
DATENAME(unidade, data) DATEPART
Retorna a parte unidade (ver tabela descritiva na pgina acima) especificada de uma data como um inteiro.
DATEPART(unidade, data)
86
87
Funes Matemticas
Funes Matemticas
ABS
Retorna o ngulo (em radianos) cuja tangente est entre exprF1 e exprF2.
ATN2(exprF1, exprF2) CEILING
88
Argumento Descrio
semente Valor inicial.
89
Retorna uma expresso numrica arredondada para o comprimento (ou preciso) especificado.
ROUND(exprN, length) SIGN
90
Funes Metadata
Funes Metadata
COL_LENGTH
Retorna a largura (em bytes) de uma coluna de uma tabela. Esse valor muda de acordo com o tipo de dados, pois os tipos CHAR e VARCHAR podem chegar a 255 bytes, enquanto os numricos dependendo da preciso chegam no mximo a 8 bytes.
COL_LENGTH('tabela', 'coluna') COL_NAME
Retorna informaes sobre uma coluna ou parmetro de procedure. Os valores retornados so: 1=True, 0=False, Null=entrada invlida.
COLUMNPROPERTY(id, coluna, propriedade)
Argumento
id coluna propriedade AllowsNull IsComputed IsCursorType
Descrio
Identificador da tabela ou procedure. Nome da coluna ou parmetro. Permite valores null. Coluna calculada. Parmetro de procedure com tipo de dados CURSOR. A coluna possui a propriedade IDENTITY (auto-incremento). a definio
Parmetro de sada de uma procedure. A coluna tem o tipo de dado uniqueidentifier e est definida com a priopriedade ROWGUIDCOL. Preciso do tipo de dado da coluna ou parmetro de procedure. Escala do tipo de dados da coluna ou parmetro da procedure. ANSI padding estava configurado com ON quando a tabela foi criada. 91
Retorna informaes sobre as propriedades de um banco de dados. Os valores retornados so: 1=True, 0=False, Null=Entrada invlida.
DATABASEPROPERTY(nome_bd, propriedade)
Argumento
nome_bd propriedade IsAnsiNullDefault IsAnsiNullsEnabled
Descrio
Nome do banco de dados. Propriedade cujas informaes sero retornadas Segue as regras SQL-92 referentes a valores nulos. Comparaes com valores nulos, sempre retornam NULL.
IsAnsiWarningsEnabled Mensagens de erro so mostradas sempre que uma condio de erro ocorrer. IsAutoClose O banco de dados fechado e libera os recursos automaticamente quando nenhum usurio estiver utilizando. Os arquivos do banco de dados so candidatos reduo automtica de tamanho periodicamente.
IsAutoShrink
IsAutoUpdateStatistics A opo de atualizao automtica das estatsticas do banco de dados est habilitada. IsBulkCopy O banco de dados permite operaes que no so gravadas no log de transaes. Os cursores so fechados quando a transao encerrada com um COMMIT. IsDboOnly IsDetached O banco de dados est no modo de acesso DBO-only. O banco de dados foi desmontado (separado do servidor) por uma operao de detach. O modo de emergncia est habilitado, permitindo acesso a banco de dados com status Suspect. O banco de dados est habilitado para indexao de texto. O banco de dados ainda est no processo de inicializao.
IsCloseCursorsOnCommitEnabled
IsEmergencyMode
IsFulltextEnabled IsInLoad
92
Funes Metadata IsInRecovery IsInStandBy O banco de dados est no processo de recuperao (recovery). O banco de dados est ativo somente para leitura (read-only), mas permite restaurao de backup do log.
IsLocalCursorsDefault As declaraes de cursores sero sempre locais. IsNotRecovered IsNullConcat IsOffline O banco de dados falhou durante o processo de recuperao. Permite concatenao de valores nulos (Null). O banco de dados no est ativo. Os identificadores de objetos podem ser colocados entre aspas duplas (). IsReadOnly O banco de dados est ativo somente para leitura (read-only). Permite o aninhamento de execues de triggers. IsShutDown IsSingleUser O banco de dados com problemas durante a inicializao do servidor. Banco de dados em modo SINGLEUSER, o que permite somente um usurio. Banco de dados marcardo como suspeito. Banco de dados apaga o log de transaes nos processos de CHECKPOINT. Verso do SQL Server utilizada para a criao do banco de dados.
IsQuotedIdentifiersEnabled
IsRecursiveTriggersEnabled
IsSuspect IsTruncLog
Version
DB_ID
Argumento
nome_bd
Descrio
Nome do banco de dados. Se no especificado, retornar o ID do banco de dados corrente.
DB_NAME
93
Funes Metadata
Argumento Descrio
id_bd ID do banco de dados a ser retornado. Se no especificado, retornar o nome do banco de dados corrente.
FILE_ID
Argumento Descrio
id_arquivo FILEGROUP_ID Nmero de identificao do arquivo.
Argumento
Descrio
Argumento
id_grupo_arq
Descrio
Nmero de identificao do grupo de arquivos.
FILEGROUPPROPERTY
Retorna o valor de uma propriedade especfica de um grupo de arquivos. Os valores retornados so: 1=True, 0=False, Null=Entrada invlida.
FILEGROUPPROPERTY(nome_grupo_arq, propriedade)
Argumento
nome_grupo_arq propriedade
Descrio
Nome do grupo de arquivos. Propriedade do grupo de arquivos.
94
Argumento
nome_arq propriedade IsReadOnly IsDefault
Descrio
Nome do arquivo. Nome da propriedade. Grupo de arquivos somente para leitura. Grupo de arquivos o default.
FULLTEXTCATALOGPROPERTY
Argumento
nome_catlogo propriedade
Descrio
Nome do catlogo. Nome da propriedade. 0 = Parado. 1 = Preenchimento em andamento. 2 = Interrompido. 3 = Acelerado. 4 = Em recuperao. 5 = Desligado. 6 = Preenchimento incremental em andamento. 7 = Atualizando ndice.
ItemCount IndexSize
UniqueKeyCount Nmero de palavras nicas (chaves) que fazem parte do ndice de texto. LogSize Tamanho (bytes) do conjunto de logs de erros associado ao servio Microsoft Search Service. Diferena (segundos) entre a ltima vez que o ndice foi preenchido e 01/01/1990 00:00:00.
PopulateCompletionAge
95
Retorna informaes das propriedades do servio de indexao de textos (Microsoft Search Service).
FULLTEXTSERVICEPROPERTY(propriedade)
Argumento
propriedade ResourceUsage ConnectTimeout
Descrio
Nome da propriedade. 1 (background) at 5 (servio dedicado). Tempo (em segundos) que o Microsoft Search Service aguardar durante as tentativas de conexo com o SQL Server. Indica se o Microsoft Search Service est instalado (1) ou no (0).
IsFulltextInstalled
INDEX_COL
Argumento Descrio
tabela id_ndice id_chave Nome da tabela. Nmero de identificao do ndice. Nmero de identificao da chave (1 a 16).
INDEXPROPERTY
Argumento
id_tabela nome_ndice propriedade IndexDepth
Descrio
Nmero de identificaa da tabela, que pode ser obtido com a funo Object_id(). Nome do ndice. Nome da propriedade, conforme lista abaixo: Nmero de nveis do ndice.
IsAutoStatistics Indice criado (1) ou no (0) pela opo auto create statistics da procedure sp_dboption. IsClustered IsStatistics ndice clusterizado (1) ou no (0). ndice criado (1) ou no (0) pelo comando CREATE STATISTICS ou pela opo auto create statistics da procedure sp_dboption. ndice com chave nica (1) ou no (0).
IsUnique
Funes Metadata IsPadIndex O ndice possui (1) ou no (0) a especificao do espao a ser ocupado pelos diversos nveis (root, intermediate e leaf). O ndice (1) ou no (0) a chave texto de uma tabela. O ndice hipottico (1) ou no. Os ndices hipotticos contm apenas informaes estatsticas e no podem ser acessados diretamente.
IsFulltextKey IsHypothetical
OBJECT_ID
Retorna o identificador (ID) da stored procedure que est sendo executada no momento.
TYPEPROPERTY
Argumento
tipo propriedade Precision Scale
Descrio
Nome do tipo de dado. Tipo de informao a ser retornada: Preciso do tipo de dados. Retorna a quantidade de dgitos ou caracteres. Escala. Retorna a quantidade de casas decimais ou NULL caso o tipo de dados no seja numrico. Indica se o tipo de dados permite (1) ou no (0) valores nulos. Indica se a opo ANSI PADDING estava ativa (1) ou no(0) quando o tipo de dados foi criado. 97
AllowsNull UsesAnsiTrim
Funes de Segurana
Funes de Segurana
IS_MEMBER
Retorna (1) se o usurio corrente pertencer a um grupo do Windows NT ou papel do SQL Server, ou (0) caso no pertena. Se retornar NULL o grupo ou papel informado no existe.
IS_MEMBER ({'grupo' | 'papel' })
Argumento Descrio
grupo papel Nome do grupo de usurios do Windows NT no formato Domnio/Grupo. Nome do papel no SQL Server.
IS_SRVROLEMEMBER
Retorna (1) caso o usurio corrente seja membro de um papel do servidor, ou (0) caso no seja. Se retornar NULL, o papel informado no vlido.
IS_SRVROLEMEMBER ( 'papel' [,'nome_conta'])
Argumento Descrio
papel Nome do papel do servidor. Pode ser: sysadmin, dbcreator, diskadmin, processadmin, serveradmin, setupadmin ou securityadmin. Nome da conta de usurio(login) que se quer verificar. Caso no seja informado, ser verificado o usurio corrente.
nome_conta
SUSER_ID
Funo obsoleta. Mantida para compatibilidade com verses anteriores. Use SUSER_SID.
SUSER_NAME
Funo obsoleta. Mantida para compatibilidade com verses anteriores. Use SUSER_SNAME.
SUSER_SID
Argumento Descrio
nome_conta Nome da conta do usurio. Caso no seja informado, ser retornado o valor correspondente ao usurio corrente.
98
Argumento
Descrio
num_identificao Nmero de identificao da conta de usurio. Caso no seja informado, utilizar o nmero de identificao do usurio corrente. USER
Varivel global que contm o nome do usurio corrente no banco de dados corrente. Pode ser colocado nas definies de DEFAULTs.
USER USER_ID
99
Funes String
Funes String
ASCII
Argumento Descrio
padro expresso Expresso do tipo char. Usualmente o nome de uma coluna, onde deve ser pesquisado um determinado padro.
DIFFERENCE
Retorna um nmero (0-4) representando a equivalncia entre os valores retornados pela funo SOUNDEX de duas expresses de caracteres. Retorna um valor de 0 a 4, sendo 4 a melhor correspondncia.
DIFFERENCE(exprC1, exprC2) LEFT
Retorna a posio inicial da primeira ocorrncia de um padro em uma expresso especificada, ou zeros se o padro no for especificado.
PATINDEX('%padro%', expresso) QUOTENAME
Retorna um string Unicode com delimitadores adicionados para tornar um identificador vlido.
QUOTENAME('string' [,'delimitador']) REPLACE
101
Retorna uma cpia de uma expresso string sem os espaos em branco finais.
RTRIM(exprC) SOUNDEX
Retorna um cdigo de quatro caracteres para avaliar a similaridade entre dois strings.
SOUNDEX(exprC) SPACE
Retorna um string com o nmero especificado de espaos em branco. Se o nmero for negativo, retornar um string null.
SPACE(integer_expr) STR
Substitui n caracteres da string exprC1 pela string parcial exprC2 a partir da posio incio.
STUFF(exprC1, incio, n, exprC2) SUBSTRING
Retorna um valor inteiro, definido no padro Unicode, para o primeiro caractere de um expresso nchar ou nvarchar.
UNICODE(expr) UPPER
102
Funes do Sistema
Funes do Sistema
APP_NAME
Retorna o nmero de bytes usados para representar uma expresso. DATALENGTH (expr)
@@ERROR
103
Retorna o valor de incremento (retornado como numeric(@@MAXPRECISION,0)) especificado durante a criao de coluna de auto-incremento (IDENTITY).
IDENT_INCR ('tabela ou view') IDENT_SEED
Retorna o valor de origem (retornado como numeric(@@MAXPRECISION,0)) especificado durante a criao da coluna de auto-incremento (IDENTITY).
IDENT_SEED ('tabela ou view') @@IDENTITY
Verifica se o valor da expresso null. Em caso afirmativo, substitui o valor null pelo valor especificado.
ISNULL(expr, valor) ISNUMERIC
Argumento Descrio
nome_objeto Nome do objeto. parte 1 2 3 4 PERMISSION Nome do objeto. Nome do proprietrio. Nome do banco de dados. Nome do servidor de banco de dados.
Retorna um valor que indica o comando, objeto ou permisses da coluna para o usurio corrente.
PERMISSION(id_objeto [,'coluna']]) @@ROWCOUNT
105
Retornar um valor para o nome do usurio corrente, quando nenhum valor padro tiver sido especificado.
STATS_DATE
Retorna a data de quando as informaes estatsticas para o ndice especificado foram atualizadas pela ltima vez.
STATS_DATE(id_tabela, id_ndice)
Argumento
id_tabela id_ndice
Descrio
Identificador da tabela, obtido com a funo OBJECT_ID(). Identificador do ndice. O primeiro ndice da tabela 1, o segundo 2, e assim por diante.
SYSTEM_USER
Varivel global que contm o nome do usurio corrente no SQL Server. Pode ser colocada nas definies de DEFAULTs.
SYSTEM_USER @@TRANCOUNT
106
Retorna o tempo (em milissegundos) de processamento da CPU desde que o SQL Server foi inicializado.
@@IDLE
Retorna o tempo (em milissegundos) que a CPU ficou inativa desde que o SQL Server foi inicializado.
@@IO_BUSY
Retorna o tempo (em milissegundos) que a CPU gastou fazendo operaes de I/O desde que o SQL Server foi inicializado.
@@PACK_RECEIVED
Retorna o nmero de pacotes de rede recebidos desde que o SQL Server foi inicializado.
@@PACK_SENT
Retorna o nmero de pacotes de rede enviados desde que o SQL Server foi inicializado.
@@PACKET_ERRORS
Retorna o nmero de erros na leitura ou envio de pacotes pela rede desde que o SQL Server foi inicializado.
@@TIMETICKS
Retorna o nmero de erros de leitura/gravao em disco desde que o SQL Server foi inicializado.
@@TOTAL_READ
Retorna o nmero de leituras no disco desde que o SQL Server foi inicializado.
@@TOTAL_WRITE
Retorna o nmero de gravaes em disco desde que o SQL Server foi inicializado.
107
Retorna o valor do ponteiro de texto em formato varbinary. O ponteiro de texto verificado para garantir que ele aponte para a primeira pgina do texto.
TEXTPTR(coluna) TEXTVALID
Argumento Descrio
tabela coluna texto_ptr Nome da tabela a ser usada. Nome da coluna a ser usada. Ponteiro de texto a ser verificado.
108
Operadores
Operadores
Operadores Aritmticos
+ (adio)
Subtrao.
expresso - expresso * (multiplicao)
Operadores Bitwise
& (Bitwise AND)
Bitwise AND.
expresso & expresso | (Bitwise OR)
Bitwise OR.
expresso | expresso ^ (Bitwise Exclusive OR)
Operadores
Operadores de Comparao
= (igual)
Maior que.
expresso > expresso < (menor que)
Menor que.
expresso < expresso >= (maior ou igual a)
Maior ou igual a.
expresso >= expresso <= (menor ou igual a)
Menor ou igual a.
expresso <= expresso <> (diferente)
Diferente.
expresso <> expresso != (diferente)
110
Operadores
Operadores Lgicos
ALL
Compara um valor escalar com um conjunto de valores de uma nica coluna. Retornar TRUE se todas as comparaes forem TRUE.
expresso_escalar operador_comp ALL (subconsulta)
Parmetro
expresso_escalar operador_comp subconsulta
Descrio
Expresso. Operador de comparao. Uma subconsulta que retorna o resultado de uma coluna. As clusulas ORDER BY, COMPUTE e INTO no so permitidas.
AND
O operador ANY ser avaliado como TRUE se o resultado de uma consulta interna contiver pelo menos uma linha que satisfaa a comparao. O mesmo que SOME.
BETWEEN
TRUE se o operando estiver dentro de um intervalo. Para mais detalhes, veja a pgina 113.
EXISTS
Retornar TRUE se uma subconsulta retornar uma ou mais linhas. As clusulas COMPUTE e INTO no so permitidas na subconsulta.
EXISTS subconsulta IN
Retornar TRUE se o operando for igual a um item da lista de expresses. Para mais detalhes, veja a pgina 114.
LIKE
Retornar TRUE se o operando tiver correspondncia com um padro. Para mais detalhes, veja a pgina 115.
111
Operadores NOT
O operador SOME ser avaliado como TRUE se o resultado de uma consulta interna contiver pelo menos uma linha que satisfaa a comparao. O mesmo que ANY.
Operadores Unrios
+ (positivo)
Operadores BETWEEN
Determina se o valor de uma expresso est dentro de um intervalo de valores. O operador NOT pode ser usado para retornar registros situados fora do intervalo.
expr1 [NOT] BETWEEN expr2 AND expr3
Argumento
expr1 NOT
Descrio
Expresso que identifica o campo que contm os dados a serem avaliados. Avalia a condio oposta, isto , se expr est situado fora do intervalo definido por expr1 e expr2. Expresses em relao s quais voc deseja avaliar expr1. A clusula BETWEEN inclusiva, o que significa que tanto expr2 como expr3 sero includos na comparao. A expr2 pode ser maior que expr3; entretanto, no ANSI SQL, expr2 precisa ser igual ou menor que expr3.
expr2, expr3
Exemplo 1 Seleciona o nome e salrio dos empregados que tm salrio entre 2000 e 7000.
SELECT NomeFunc, Salario FROM Empreg WHERE Salario BETWEEN 2000 AND 7000
Exemplo 3 Seleciona os registros de vendas entre 31/01/1999 e 30/ 03/1999. Literais do tipo DATETIME devem ser delimitados com os smbolos (#) e devem ser expressos sempre na forma MM/DD/AA, independentemente do formato de datas especificado no Control Panel (Painel de Controle) do Windows.
SELECT * FROM VENDAS WHERE DataVenda BETWEEN #01/31/1999# AND #03/30/1999#
113
Operadores IN
Argumento
expresso NOT valor1, valor2,...
Descrio
Expresso que identifica o campo que contm os dados a serem avaliados. Avalia a condio oposta, isto , se expr no est na lista de valores. Expresso ou lista de expresses em relao s quais voc deseja avaliar expresso.
Exemplo Seleciona da tabela Clientes os clientes dos estados do Sul do Brasil (PR, SC e RS).
SELECT * FROM Clientes WHERE Estado IN ('PR','SC','RS')
Exemplo Seleciona os funcionrios cujo salrio seja um dos seguintes valores: 1000, 1500, 2000:
SELECT Salario FROM Funcionarios WHERE Salario IN (1000, 1500, 2000)
114
Operadores LIKE
Permite comparar uma expresso a um padro. Distingue minsculas de maisculas na comparao. O predicado usado exclusivamente nas comparaes entre strings.
expresso [NOT] LIKE 'padro'
Item
expresso padro
Significado
Expresso SQL (ou seja, o valor de um campo). Seqncia de caracteres em relao qual expresso ser comparado. Empregam a coincidncia de caracteres curinga e listas de faixas de variao de caracteres. Podem ser utilizados os caracteres curinga abaixo: Qualquer string de zero ou mais caracteres. Qualquer caractere nico. Qualquer dgito isolado (0-9). Caractere contido em lista. O caractere "-" utilizado para indicar um intervalo de caracteres ANSI; por exemplo: [0-9] seleciona os nmeros de 0 a 9. A faixa de variao dos caracteres tem de ser definida em ordem ascendente (por exemplo: a-z, e no z-a). Caractere isolado no contido em lista.
% _ # [lista]
[^lista]
Exemplos
'57%' '%57' '57_' 571## 'COL[IU]NA' 'DR[^O]GA' 'P[A-C]###' 'P[^A-C]###' Encontra qualquer string que comea com 57. Encontra qualquer string que termina com 57. Encontra qualquer string com 3 caracteres que comece com 57. Encontra qualquer nmero entre 57100 e 57199. Encontra 'COLINA' ou 'COLUNA'. Encontra qualquer combinao, exceto DROGA. Encontra DRAGA, DREGA, DRZGA, etc. Encontra PA000-PA999, PB000-PB999, PC000PC999. Encontra todos exceto PA at PC: PD000-PZ999.
Exemplo:
SELECT * FROM Funcionarios WHERE Sobrenome LIKE '[A-D]*'; Retorna uma lista de funcionrios cujos nomes comeam com as letras de A a D.
115
Tipos de Dados
Numricos
Decimal(p,[s]) Dados decimais, onde podem ser definidas preciso e escala Intervalo: -10^38 -1 a 10^38 -1. Numeric(p,[s]) Sinnimo de decimal.
Dados Monetrios
Money Usado para representar valores monetrios. Espao ocupado: 8 bytes Intervalo: -922,337,203,685,477.5808 +922,337,203,685,477.5807
Smallmoney Corresponde ao tipo money, mas armazenado em 4 bytes. Espao ocupado: 4 bytes Intervalo: -214,748.3648 a +214,748.364
116
Tipos de Dados
Numricos Aproximados
Float[(p)] Representa valores em ponto flutuante como REAL. Intervalo: -1.79E + 308 a 1.79E + 308. Real Usado para valores em ponto flutuante. Intervalo: -3.40E + 38 a 3.40E + 38.
Strings de Caracteres
Char[(n)] Define um string com tamanho fixo, com no mximo 8000 caracteres. Varchar[(n)] Define um string com tamanho varivel, com no mximo 8000 caracteres. Text[(n)] Define um string de tamanho fixo de at 2^31 - 1 (2,147,483,647) caracteres.
117
Tipos de Dados
Strings Binrios
Binary[(n)] Define um string de bit de comprimento fixo, com n bytes (mximo=8000 bytes). Varbinary[(n)] Define um string de bit de comprimento varivel com b bytes (mximo=8000 bytes). Image[(n)] Define um string de bit de comprimento fixo, com tamanho mximo de 2^31 - 1 (2,147,483,647) bytes.
Sinnimos
Tipos de dados sinnimos para compatibilidade SQL-92.
Sinnimo binary varying char varying character character character(n) character varying(n) dec double precision float[(n)] para n = 1-7 float[(n)] para n = 8-15 integer national character(n) national char(n) national character varying(n) national char varying(n) national text numeric Equivalente no SQL Server varbinary varchar char char(1) char(n) varchar(n) decimal float real float int nchar(n) nchar(n) nvarchar(n) nvarchar(n) ntext decimal
118
Constantes e Identificadores
Exemplos de Constantes
String 'Catanduva' 'O''Reilly' Unicode N'Jos' Binrias 0x12Ef 0x69048AEFDD010E Datetime 'Abril 24, 2000' '24 Abril, 2000' '04/24/2000' '11:45:24' '02:20 PM' Inteiras 1894 2 Decimais 1894.1204 2.0 Float e Real 101.5E5 0.5E-2 Money $12 $542023.14 Uniqueidentifier '6F9619FF-8B86-D011-B42D-00C04FC964FF'
Palavras-reservadas
Palavras-reservadas do Transact-SQL
ADD ALL ALTER AND ANY AS ASC AUTHORIZATION AVG BACKUP BEGIN BETWEEN BREAK BROWSE BULK BY CASCADE CASE CHECK CHECKPOINT CLOSE CLUSTERED COALESCE COLUMN COMMIT COMMITTED COMPUTE CONFIRM CONSTRAINT CONTAINS CONTAINSTABLE CONTINUE CONTROLROW CONVERT COUNT CREATE CROSS CURRENT CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURSOR DATABASE DBCC DEALLOCATE DECLARE DEFAULT DELETE DENY DESC DISK DISTINCT DISTRIBUTED DOUBLE DROP DUMMY DUMP ELSE END ERRLVL ERROREXIT ESCAPE EXCEPT EXEC EXECUTE EXISTS EXIT FETCH FILE FILLFACTOR FLOPPY FOR FOREIGN FREETEXT FREETEXTTABLE FROM FULL GOTO GRANT GROUP HAVING HOLDLOCK IDENTITY IDENTITY_INSERT IDENTITYCOL IF IN INDEX INNER INSERT INTERSECT INTO IS ISOLATION JOIN KEY KILL LEFT LEVEL LIKE LINENO LOAD MAX MIN MIRROREXIT NATIONAL NOCHECK NONCLUSTERED NOT NULL NULLIF OF OFF OFFSETS ON ONCE ONLY OPEN OPENDATASOURCE OPENQUERY OPENROWSET OPTION OR ORDER OUTER OVER PERCENT PERM PERMANENT PIPE PLAN PRECISION PREPARE PRIMARY PRINT PRIVILEGES PROC PROCEDURE PROCESSEXIT PUBLIC RAISERROR READ READTEXT RECONFIGURE REFERENCES REPEATABLE REPLICATION RESTORE RESTRICT RETURN REVOKE RIGHT ROLLBACK ROWCOUNT ROWGUIDCOL RULE SAVE SCHEMA SELECT SERIALIZABLE SESSION_USER SET SETUSER SHUTDOWN SOME STATISTICS SUM SYSTEM_USER TABLE TAPE TEMP TEMPORARY TEXTSIZE THEN TO TOP TRAN TRANSACTION TRIGGER TRUNCATE TSEQUAL UNCOMMITTED UNION UNIQUE UPDATE UPDATETEXT USE USER VALUES VARYING VIEW WAITFOR WHEN WHERE WHILE WITH WORK WRITETEXT
120
Informaes Adicionais
http://www.microsoft.com/sql/
Notao Utilizada neste Guia
Conveno itlico Significado Representa nomes de bancos de dados, nomes de tabelas, nomes de colunas e valores que devem ser fornecidos pelo usurio. Identifica valores opcionais na sintaxe, que podem ou no ser fornecidos pelo usurio. Digite somente a informao dentro dos parnteses; no digite os parnteses. Identifica itens requeridos na sintaxe. Digite somente a informao dentro dos colchetes; no digite os colchetes.
[]
{}
| (barra vertical) Indica que deve ser escolhida uma das opes dentro dos colchetes. ... (elipses) Indica que o item prvio da sintaxe pode ser repetido.
Novatec na Internet
Conhea o site da Novatec Editora
www.novateceditora.com.br
Veja a relao de nossas publicaes; Conhea os ltimos lanamentos; Adquira nossas publicaes atravs da Internet; Cadastre-se para ser informado das novidades da Novatec; Faa o download (parcial) dos Guias; E muito mais.
E-mail: leitor@novateceditora.com.br
121
ndice
Smbolos
!< 110 !> 110 % 109, 115 * 109 + 109 - 109 -- 5 / 109 /* ...*/ 5 < 110 <= 110 <> 110 = 110 > 110 >= 110 @@CONNECTIONS 83 @@CPU_BUSY 107 @@CURSOR_ROWS 85 @@DATEFIRST 83 @@DBTS 83 @@ERROR 103 @@FETCH_STATUS 85 @@IDENTITY 104 @@IDLE 107 @@IO_BUSY 107 @@LANGID 83 @@LANGUAGE 83 @@LOCK_TIMEOUT 83 @@MAX_CONNECTIONS 83 @@MAX_PRECISION 83 @@NESTLEVEL 83 @@OPTIONS 84 @@PACK_RECEIVED 107 @@PACK_SENT 107 @@PACKET_ERRORS 107 @@PROCID 97 @@REMSERVER 84 @@ROWCOUNT 105 @@SERVERNAME 84 @@SERVICENAME 84 @@SPID 84 @@TEXTSIZE 84 @@TIMETICKS 107 @@TOTAL_ERRORS 107 @@TOTAL_READ 107 @@TOTAL_WRITE 107 @@TRANCOUNT 106 @@VERSION 84 [^lista] 115 [lista] 115 _ 115
A
ABS 88 ACOS 88 ALL 111 ALTER DATABASE 5 ALTER PROCEDURE 7
122
ndice
ALTER TABLE 8 ALTER TRIGGER 12 ALTER VIEW 13 AND 111 ANY 111 APP_NAME 103 ASCII 100 ASIN 88 ATAN 88 ATN2 88 AVG 81
B
BEGIN DISTRIBUTED TRANSACTION BEGIN TRANSACTION 16 BEGIN...END 16 BETWEEN 111, 113 Binary 118 Bit 116 BREAK 16 BULK INSERT 17 16
C
CASE 19 CAST 103 CEILING 88 CHAR 100 Char 117 CHARINDEX 100 CHECKPOINT 20 CLOSE 20 COALESCE 103 COL_LENGTH 91 COL_NAME 91 COLUMNPROPERTY 91 Comandos 5 Comentrios 5 COMMIT TRANSACTION 20 COMMIT WORK 20 CONTINUE 20 CONVERT 103 COS 88 COT 88 COUNT 81 COUNT(*) 81 CREATE DATABASE 21 CREATE DEFAULT 22 CREATE INDEX 22 CREATE PROCEDURE 23 CREATE RULE 24 CREATE SCHEMA 24 CREATE STATISTICS 25 CREATE TABLE 26 CREATE TRIGGER 29 CREATE VIEW 30 CURRENT_TIMESTAMP 103 CURRENT_USER 103 Cursor 117 CURSOR_STATUS 85
123
ndice
D
DATABASEPROPERTY 92 DATALENGTH 103 DATEADD 86 DATEDIFF 86 DATENAME 86 DATEPART 86 Datetime 117 DAY 87 DB_ID 93 DB_NAME 93 DBCC 31 DBCC CHECKALLOC 62 DBCC CHECKCATALOG 62 DBCC CHECKDB 63 DBCC CHECKFILEGROUP 64 DBCC CHECKIDENT 64 DBCC CHECKTABLE 65 DBCC DBREINDEX 66 DBCC DBREPAIR 65 DBCC dllname 66 DBCC HELP 66 DBCC INPUTBUFFER 66 DBCC NEWALLOC 67 DBCC OPENTRAN 67 DBCC OUTPUTBUFFER 67 DBCC PINTABLE 67 DBCC PROCCACHE 68 DBCC ROWLOCK 68 DBCC SHOW_STATISTICS 68 DBCC SHOWCONTIG 68 DBCC SHRINKDATABASE 69 DBCC SHRINKFILE 69 DBCC SQLPERF 70 DBCC TEXTALL 70 DBCC TEXTALLOC 70 DBCC TRACEOFF 70 DBCC TRACEON 71 DBCC TRACESTATUS 71 DBCC UNPINTABLE 71 DBCC UPDATEUSAGE 72 DBCC USEROPTIONS 72 DEALLOCATE 31 Decimal 116 DECLARE 31 DECLARE CURSOR 31 DEGREES 88 DELETE 33 DENY 34 DIFFERENCE 100 DROP DATABASE 35 DROP DEFAULT 35 DROP INDEX 35 DROP PROCEDURE 36 DROP RULE 36 DROP STATISTICS 36 DROP TABLE 36 DROP TRIGGER 36 DROP VIEW 36 DUMP 37
124
ndice
E
ELSE 40 END 16 EXECUTE 37 EXISTS 111 EXP 89
F
FETCH 38 FILE_ID 94 FILE_NAME 94 FILEGROUP_ID 94 FILEGROUP_NAME 94 FILEGROUPPROPERTY 94 FILEPROPERTY 95 Float 117 FLOOR 89 FORMATMESSAGE 104 FROM 52 FULLTEXTCATALOGPROPERTY 95 FULLTEXTSERVICEPROPERTY 96 Funes de Cursor 85 Funes de agregao 81 Funes de Configurao 83 Funes de Data e Hora 86 Funes de Estatstica do Sistema 107 Funes de Segurana 98 Funes de Texto e Imagem 108 Funes do Sistema 103 Funes Matemticas 88 Funes Metadata 91 Funes String 100
G
GETANSINULL 104 GETDATE 87 GOTO 38 GRANT 39 GROUPING 81
H
HOST_ID 104 HOST_NAME 104
I
IDENT_INCR 104 IDENT_SEED 104 IF...ELSE 40 Image 118 IN 111, 114 INDEX_COL 96 INDEXPROPERTY 96 Informaes Adicionais 121 INSERT 40 Int 116 IS_MEMBER 98 IS_SRVROLEMEMBER 98 ISDATE 104 ISNULL 105 ISNUMERIC 105
125
ndice
K
KILL 41
L
LEFT 100 LEN 100 LIKE 111, 115 LOAD 41 LOG 89 LOG10 89 LOWER 100 LTRIM 101
M
MAX 81 MIN 82 Money 116 MONTH 87
N
NCHAR 101 Nchar 118 NEWID 105 NOT 112 Notao Utilizada neste Guia 121 Ntext 118 NULLIF 105 Numeric 116 Nvarchar 118
O
OBJECT_ID 97 OBJECT_NAME 97 OBJECTPROPERTY 97 OPEN 42 Operadores 109 OPTION 55 OR 112
P
PARSENAME 105 PATINDEX 101 PERMISSION 105 PI 89 POWER 89 PRINT 42
Q
QUOTENAME 101
R
RADIANS 89 RAISERROR 42 RAND 89 READTEXT 43 Real 117 RECONFIGURE 43 REPLACE 101 REPLICATE 101
126
ndice
RESTORE 44 RESTORE FILELISTONLY 46 RESTORE HEADERONLY 46 RESTORE LABELONLY 46 RESTORE VERIFYONLY 47 RETURN 47 REVERSE 101 REVOKE 48 RIGHT 101 ROUND 90 RTRIM 102
S
SET 56 SET ANSI_DEFAULTS 73 SET ANSI_NULL_DFLT_OFF 73 SET ANSI_NULL_DFLT_ON 73 SET ANSI_NULLS 73 SET ANSI_PADDING 74 SET ANSI_WARNINGS 74 SET ARITHABORT 74 SET ARITHIGNORE 74 SET CONCAT_NULL_YIELDS_NULL 74 SET CURSOR_CLOSE_ON_COMMIT 74 SET DATEFIRST 75 SET DATEFORMAT 75 SET DEADLOCK_PRIORITY 75 SET DISABLE_DEF_CNST_CHK 75 SET FMTONLY 76 SET FORCEPLAN 76 SET IDENTITY_INSERT 76 SET IMPLICIT_TRANSACTIONS 77 SET LANGUAGE 77 SET LOCK_TIMEOUT 77 SET NOCOUNT 77 SET NOEXEC 77 SET NUMERIC_ROUNDABORT 78 SET OFFSETS 78 SET PARSEONLY 78 SET PROCID 78 SET QUERY_GOVERNOR_COST_LIMIT 78 SET QUOTED_IDENTIFIER 78 SET REMOTE_PROC_TRANSACTIONS 79 SET ROWCOUNT 79 SET SHOWPLAN_ALL 79 SET SHOWPLAN_TEXT 79 SET STATISTICS IO 79 SET STATISTICS PROFILE 79 SET STATISTICS TIME 79 SET TEXTSIZE 80 SET TRANSACTION ISOLATION LEVEL 80 SET XACT_ABORT 80 SETUSER 56 SHUTDOWN 57 SIGN 90 SIN 90 Site Oficial do SQL Server 7 121 Smalldatetime 117
127
ndice
Smallint 116 Smallmoney 116 SOME 112 SOUNDEX 102 SPACE 102 SQRT 90 SQUARE 90 STATS_DATE 106 STDEV 82 STDEVP 82 STR 102 STUFF 102 SUBSTRING 102 SUM 82 SUSER_ID 98 SUSER_NAME 98 SUSER_SID 98 SUSER_SNAME 99 SYSTEM_USER 106
T
TAN 90 Text 117 TEXTPTR 108 TEXTVALID 108 Timestamp 117 Tinyint 116 TRUNCATE TABLE 57 TYPEPROPERTY 97
U
UNICODE 102 UNION 55 Uniqueidentifier 117 UPDATE 57 UPDATE STATISTICS 59 UPDATETEXT 59 UPPER 102 USE 60 USER 99 USER_ID 99 USER_NAME 106
V
VAR 82 Varbinary 118 Varchar 117 VARP 82
W
WAITFOR 60 WHILE 61 WRITETEXT 61
Y
YEAR 87
128
I SBN 8 5 - 8 5 1 8 4 - 7 0 - 1
9 788585 184704
Copyright Novatec Editora Ltda. Fone: (011) 6959-6529 Fax: (011) 6950-8869 Internet: www.novatec1.com