18 agosto 2008

[SQL SERVER] Como saber se uma tabela é usada em alguma view ou procedure...

SELECT
   NAME
FROM
   SYSOBJECTS
WHERE
   ID IN (
      SELECT
         ID
      FROM
         SYSDEPENDS
      WHERE
         DEPID = OBJECT_ID('NOME DA TABELA')
      )

05 agosto 2008

[SQL SERVER] Algumas funções SQL bastante utilizadas

Funções de agrupamento:
AVG() = Retorna o valor médio de uma coluna específica
COUNT() = Retorna o número de linhas
MAX() = Retorna o valor máximo de uma coluna específica
MIN() = Retorna o valor mínimo de uma coluna específica
SUM() = Retorna a soma de uma coluna específica

Funções de manipulação de strings:
LEN (string) = Identifica o comprimento de uma expressão em caracteres
LOWER (string) = converte uma string uppercase para lowercase.
LTRIM (string) = remove os espaços em branco
REPLICATE (string, integer) = Repete N vezes um caractere especificado
REPLACE (string, string, string) Em uma expressão(1º parâmetro), essa função substitui uma referida string (2º parametro) por qualquer outra especificada(3º parâmetro)
RTRIM (string) = remove os espaços em branco à direita de uma string
SPACE (integer) = que retorna o número de espaços em branco informados no parâmetro SUBSTRING (string texto, posicao_inicial, tamanho) = retorna uma string com o comprimento definido em "tamanho" extraida da string "texto", a partir da "posicao_inicial"
UPPER (string) = retorna string em maiusculas

Funções de manipulação de data/hora:
nomes das partes de data:
Year = yy, yyyy
Month = mm, m
Day = dd, d
Week = wk, ww
Hour = hh
Minute = mi, n
Second = ss, s
Millisecond = ms
DW(dia da semana)

DATEADD (parte, numero, data) = adiciona um valor a parte de uma data
DATEDIFF (parte, data inicial, data final) = subtrai a data inicial da data final, indicando o resultado na unidade definida em "parte"
GETDATE() = retorna a data atual do sistema
DATENAME (parte, data) = retorna o nome da parte de uma data
DATEPART (parte, data) = retorna a parte de uma data

Funções de Sistema:
CAST (expressao as datatype) = converte uma expressao no datatype informado
ISNULL (expressao, valor) = se a expressao for null, troca pelo valor especificado
ISNUMERIC (expressao) = retorna 1 se a expressao for numerica e 0 se não for
NULLIF (expressao_1, expressao_2) = retorna nulo se as duas expressoes forem equivalentes. Se não forem, retorna a primeira expressao.
USER_ID (nome_do_usuario) = retorna o ID do usuario informado para o BD em uso
USER_NAME (id_do_usuario) = retorna o usuario conectado ao BD

Funções Matematicas:
ABS (numero) = retorna o valor absoluto do numero
ROUND (numero, precisao, arredonda_ou_trancar) = arredonda ou tranca o numero fornecido de acordo com a precisao informada. Se o terceiro parametro não for passado para a funçao, o numero é arredondado. Se quiser que o numero seja truncado, deve-se fornecer o valor 1
SIGN (numero) = retorna sinal positivo, negativo ou zero do numero
SQRT (float) = retorna a raiz quadrada de um numero
SQUARE (float) = retorna o quadrado de um numero

Função de conversão:
CONVERT (tipo(tamanho), expressão, estilo) = converte a expressão para o tipo de dado. O tamanho e o estilo são opcionais

[SQL SERVER] Descobrir tabelas e views dependentes

Quer descobrir quais sao as tabelas e views dependentes de uma determinada tabela?

O comando abaixo mostra todas as dependências da tabela a escolha, identificando as views com código 4 e tabelas com código 8. AS tabelas são as mesmas se for pelo enterprise e criar um novo diagrama adicionando todas as dependências da tabela

exec sp_MSdependencies N'[dbo].[NOMEDATABELA]', null, 1315327