Sqlserver – SQL para pesquisar todas as constraints de colunas de tabelas

20 12 2016

Problema

Preciso pesquisar as constraints de das tabelas do SQL SERVER

Solução

Abaixo segue um SQL que busca todas as constraints das tabelas

SELECT 
    TableName = t.Name,
    ColumnName = c.Name,
    dc.Name,
    dc.definition
FROM sys.tables t
INNER JOIN sys.default_constraints dc ON t.object_id = dc.parent_object_id
INNER JOIN sys.columns c ON dc.parent_object_id = c.object_id AND c.column_id = dc.parent_column_id
ORDER BY t.Name

 

Anúncios




[sqlserver] UPDATE com INNER JOIN e GROUP BY

4 08 2014

Problema

Como fazer um update com INNER JOIN E GROUP BY no SQLSERVER

Solução

UPDATE pedido_ SET pedido_.vl_saldo = A.vl_saldo_recalculado
FROM PEDIDO pedido_
INNER JOIN
(
   SELECT
   pedido_.id_pedido as id_pedido,
   (pedido_.vl_valor_total - SUM(item_pedido_.vl_valor_entrega)) as vl_saldo_recalculado
   FROM PEDIDO pedido_
   INNER JOIN ITEM_PEDIDO item_pedido_ on item_pedido_.id_pedido = pedido_.id_pedido  AND pedido_.nr_numero_pedido = '2014073100003'
   GROUP By pedido_.id_pedido, pedido_.vl_valor_total
)
A ON A.id_pedido = pedido_.id_pedido




SQL Developer – Definindo visualização de data

19 08 2013

Problema

A data no SQL Developer não aparece o horário

Solução

Modificar o tipo de visualização da data da seguinte maneira:

  1. Entrar no SQL Developer, abrir menu Ferramentas >> Preferencias
  2. Na janela de Preferencias, selecionar a aba Bando de dados >> NLS
  3. Na janela NLS colocar no campo “Formato Data” o formato:   DD/MM/RR HH24:MI:SS
  4. Clicar no botão Salvar e pronto!

FONTE





[hibernate][jpa][Oracle] Problemas com palavras reservadas do BD

13 06 2011

Problema

No desenvolvimento de um sistema utilizando Hibernate + Spring + Oracle, tive alguns problemas para utilizar o bando do Oracle com Hibernate, o principal erro era  ORA-01747, que informa que algum nome de campo é uma palavra reservada para o Oracle.

 

ORA-01747: invalid user.table.column, table.column, or columns specification

 

Solução

Para solucionar o problema pesquisei todas as palavras que utilizei nos meus Beans e verifiquei se elas estavam na tabela abaixo, que o Oracle disponibiliza informando as palavras reservadas.

SELECT * FROM V$RESERVED_WORDS
WHERE keyword like 'OBSERVATION';

				




[Oracle] Como verificar o tamanho de utilização de um índice

26 07 2010

Problema:

É necessário verificar o tamanho que um índice está ocupando no banco de dados.

Solução:
select sum(bytes)/1024/1024 "Index size in Mb" from dba_segments where segment_type='INDEX' and segment_name = 'SYS_CXXXXX';





[oracle] Verificando a relação de cursores abertos por processos

15 07 2010

Abaixo estou colocando um SQL que busca a relação dos processos com o numero de cursores que cada processo está utilizando,  juntamente com o SCHEMA na qual o mesmo esta acessando.

Adicionei uma condição para remover da relação dos processos relacionados ao Oracle, pois, estes cursores não me interessavam.

select s.username, s.program, count(a.sid), sum(a.value) "Open Cursors"
from v$sesstat a, v$statname b, v$session s
where a.statistic# = b.statistic#  and s.sid=a.sid
and b.name = 'opened cursors current'
and s.program not like 'ORACLE%'
and s.program not like 'OMS'
group by s.username, s.program
order by s.program;

FONTE: Perdi a fonte, mas tentarei encontrar e atualizar aqui.





[Oracle] DUMP DIRS verificaando os caminhos

19 05 2010

Para você que fez um script EXPDP a um bom tempo, e especificou um diretório no Oracle e agora não sabe onde diabos fica essa diretório,  segue o SQL que resolverá os seus problemas:

SELECT * FROM dba_directories;

No meu caso precisava saber o DUMPDIR da minha máquina de desenvolvimento para fazer um IMPDP no meu banco de dados.

OBS: Não esqueça que é necessário privilégios de SYS para verificar essa tabela.