Banco de DadosSQL Server, MySQL, Oracle, PostgreSQL, ...

Inserir em um campo IDENTITY com T-SQL

Imagine o seguinte cenário: Seu banco de dados, no SQL Server, tem tabelas “de classificação (como costumo chamar)”, como por exemplo: Status com campos ID, Nome (valores: 1=’Ativo’, 2=’Inativo’, 3=’Suspenso’). E por algum motivo esta tabela foi criada com campo ID marcada coma propriedade IDENTITY. CREATE TABLE Table_TEST( Id INT IDENTITY(1,1), DATA datetime)CREATE TABLE Table_TEST( Id…

Read more

Informações sobre bancos de dados

Nas minhas últimas postagem – script movimentação de arquivos de banco de dados no SQL Server 2000 e para 2005 – escrevi sobre movimentação de arquivo de banco de dados (ou ‘datafiles’). Um script complementar para… Informações de uma banco de dados específico EXEC sp_helpdb ‘nome_banco_dados’;EXEC sp_helpdb ‘nome_banco_dados’; Informações de todos os banco de dados do servidor corrente EXEC sp_helpdb;EXEC…

Read more

Movendo arquivo de banco de dados no SQL Server 2005 (ou superior)

O cenário Preciso mudar a localização (o ‘drive’) de aquivos de banco de dados (.MDF, .NDF e/ou .LDF) no SQL Server 2005 (ou superior) (diferente do recomentado para o SQL Server 2000). Acript… /* 01. Restringe Acesso ao Banco de Dados somente para "SysAdmin" */ USE master; GO   ALTER DATABASE nome_banco_dados SET SINGLE_USER; GO  …

Read more

Movendo arquivo de banco de dados no SQL Server 2000

O dia começou com um dos discos, onde estão banco de dados importantes, lotados! Consequências: Arquivos de bancos de dados não conseguem crescer, logo as aplicações não conseguem atualizar dados… “bug“. Lembrando que, no dia-a-dia esse cenário pode (e deve) ser evitado com monitoramento diário do crescimento dos arquivos de banco de dados (datafiles). Mas, eventualmente acontece: por alguma…

Read more

Alteração de schema de tabelas no SQL Server

Ás vezes há a necessidade de mudar schema de todas as tabelas no SQL Server. Antes de usar a abordagem (abaixo), considerei recriá as tabelas em um schema novo e fazer a transferência dos dados. (rs, sem comentários!). A tarefa de alterar o schema da tabela no SQL Server é um pouco diferente na versão 2000 em relação…

Read more

Alternativa para o @@IDENTITY no SQL Server 2000

Tive problemas com a instrução @@IDENTITY, para retornar a PRIMARY KEY de um registro inserido, na execução de Stored Procedure. Identifiquei as seguintes alternativas: para SQL Server versões 2000 ou superior. “Instruções SQL que estão contidos no mesmo lote, Stored Procedure ou Trigger são considerados no mesmo escopo. Então, se eu chamar um INSERT que aciona um gatilho, eu tenho…

Read more

Stored Procedure (SP) com WHERE opcionais

Outra forma que tratar condições na cláusula WHERE no SQL Server 2000 ou 2005, é a seguinte: CREATE PROCEDURE SP_CONSULTA /* define o parâmetro obrigatório */ @UF VARCHAR(100), /* define o parâmetro opcional – o valor default de ver igual a "null" */ @CIDADE VARCHAR(100) = NULL AS BEGIN /* declara a variável que receberá…

Read more

SQL – CASE no WHERE

Me deparei com um “problema”: Como fazer um CASE (comando SQL) na clausula WHERE. Resolvi o problema e decidi post aqui na sintaxe do SQL Server 2000 ou 2005 DECLARE @tipo VARCHAR(50); DECLARE @estado VARCHAR(5); DECLARE @ativo VARCHAR(10);   SET @estado = ’53’; SET @ativo = ‘SIM’;   SELECT * FROM cas_municipio WHERE MUN_EST_CODIGO =…

Read more