Mostrando postagens com marcador MS-SQL Server. Mostrar todas as postagens
Mostrando postagens com marcador MS-SQL Server. Mostrar todas as postagens

quarta-feira, 12 de agosto de 2015

Listando Tabelas e Colunas no PostgreSQL, Firebird, MS-SQL Server e Oracle

Olá, Boa Tarde!!!

Com certeza você já preciso listar tabelas, bem como suas colunas, tipo de dados, tamanho de coluna, chaves primárias e estrangeiras, etc. Então resolvemos reunir os comandos para fazer isso em quatro dos principais bancos de dados, o PostgreSQL, o Firebird, o MS-SQL Server e o Oracle.

Abaixo deixamos os links para cada um dos materiais:

PostgreSQL:

Firebird:

Oracle:

Nesta postagem juntamos os links de todas as postagens referente ao assunto de listagem de tabelas e colunas em banco de dados.

Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.

Atenciosamente
Dica Chave.

terça-feira, 11 de agosto de 2015

Listando as Colunas de uma Tabela no MS-SQL Server

Olá, Bom Dia Galera!!!

Vamos ver os comandos para listar todas as colunas de uma tabela no MS-SQL server, identificando as chaves primárias, as chaves estrangeiras, o tipo de dado, tamanho do campo, bem como se ele aceita nulo ou não.

Tendo em mãos o nome da tabela desejada, basta executar o comando abaixo:

Vamos ao comando?
SELECT A.name + 
       ' (' + CASE WHEN ((SELECT COUNT(1) 
                      FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE AA 
                          WHERE A.name = AA.COLUMN_NAME 
                            AND CONSTRAINT_NAME = (SELECT NAME 
                                                   FROM SYSOBJECTS As AAA
                                                   WHERE AA.TABLE_NAME = OBJECT_NAME(AAA.Parent_Obj)
                                                     AND AAA.XTYPE = 'PK')) > 0)
       THEN 'PK, ' ELSE '' END +
       CASE WHEN ((SELECT COUNT(1)
                   FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AA
                   LEFT JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE BB ON BB.CONSTRAINT_CATALOG = AA.CONSTRAINT_CATALOG
                                                                   AND BB.CONSTRAINT_SCHEMA = AA.CONSTRAINT_SCHEMA
                                                                   AND BB.CONSTRAINT_NAME = AA.CONSTRAINT_NAME
                   WHERE BB.TABLE_NAME = B.name 
                     AND BB.COLUMN_NAME = A.name) > 0) 
       THEN 'FK, ' ELSE '' END +
       C.name + CASE WHEN (C.collationid IS NOT NULL) 
                THEN  '(' + CAST(A.length AS VARCHAR(10)) + ')' ELSE '' END  + ', ' +
       CASE WHEN (A.isnullable = 0) THEN 'Não Nulo' ELSE 'Nulo' END +
       ')' AS Coluna
FROM SYSCOLUMNS A
LEFT JOIN SYSOBJECTS B ON A.id = B.id
LEFT JOIN SYSTYPES C ON A.usertype = C.usertype
WHERE B.name = 'Pessoa'  -- Nome da Tabela

Prontinho, aí estão todas as colunas com as devidas informações de tamanho, tipo de dado, etc.

Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.

Atenciosamente
Dica Chave.

Listando Tabelas no MS-SQL Server

Olá, Bom Dia Galera!!!

Vamos ver os comandos para listar as tabelas em um banco de dados MS-SQL Server.

Vamos aos comandos?
SELECT NAME AS Tabela FROM SYSOBJECTS WHERE XTYPE = 'U' 

Prontinho, aí estão todas as tabelas de um determinado Banco de Dados MS-SQL Server.

Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.

Atenciosamente
Dica Chave.

quarta-feira, 27 de agosto de 2014

Renomeando Banco de Dados SQL Server

Olá, Bom Dia Pessoal...

Quem nunca precisou renomear uma base de dados no SQL Server!!!

Aí vai um comando fácil e rápido...

-- Colocamos em uso a Database "master"
  USE [master];
  GO

-- Alteramos nossa Database para o modo usuário único
  ALTER DATABASE database_NAME_OLD SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
  GO

-- Aqui faremos a alteração do nome da database
  ALTER DATABASE database_NAME_OLD
  MODIFY Name = database_NAME_NEW ;
  GO

-- Alteramos nossa Database para o modo multiusuário
  ALTER DATABASE database_NAME_NEW SET MULTI_USER WITH ROLLBACK IMMEDIATE;
  GO

    OBS.: Para fins de compatibilidade, esta dica foi testada no SQL Server 2008. 


Esta foi a dica de hoje, se for útil, comentem.

Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.

Atenciosamente
Dica Chave.