View atualizável SQL SERVER

Standard

Segue abaixo um exemplo de views atualizáveis, onde é apresentada a criação da mesma, alteração de estrutura e manipulação de dados de uma tabela através desta view, este exemplo foi criado pelo meu amigo Jord, achei o exemplo muito interessante e didático.

–CRIANDO O BANCO DE DADOS DE TESTE
CREATE DATABASE DB_TESTE
GO
–SETANDO O CONTEXTO PARA DB_TESTE
USE DB_TESTE
GO
–CRIANDO A TABELA TESTE
CREATE TABLE TESTE (OBS VARCHAR(10));
GO
—————————————
–CRIANDO A VIEW A PARTIR DA CONSULTA NA TABELA TESTE
CREATE VIEW VW_TESTE
AS
SELECT * FROM TESTE;
GO
—————————————
–CONSULTANDO A VIEW PARA VER QUE NÃO HÁ REGISTRO
SELECT * FROM VW_TESTE;
–INSERINDO O REGISTRO ATRAVES DA VIEW
INSERT INTO VW_TESTE VALUES(‘TESTE’);
—————————————
–CONSULTANDO A VIEW PARA VER O REGISTRO INSERIDO
SELECT * FROM VW_TESTE;
–UPDATE PELA VIEW
UPDATE VW_TESTE SET OBS = ‘ABCDEF’;
–CONSULTANDO A VIEW PARA VER O REGISTRO MODIFICADO
SELECT * FROM VW_TESTE;
—————————————
–DELETANDO PELA VIEW
DELETE FROM VW_TESTE;
–CONSULTANDO A VIEW PARA VER QUE O REGISTRO FOI APAGADO
SELECT * FROM VW_TESTE;
GO
—————————————
–ADICIONANDO NO CAMPO NA TABELA TESTE
ALTER TABLE TESTE ADD DATA DATETIME DEFAULT GETDATE();
GO
–DANDO O REFRESH NA VIEW PARA QUE A MESMA SEJA ATUALIZADA COM O NOVO CAMPO
EXEC SP_REFRESHVIEW VW_TESTE;
GO
–CONSULTANDO A VIEW PARA VER QUE O NOVO CAMPO ADICIONADO NA TABELA JÁ APARECE NA VIEW
SELECT * FROM VW_TESTE;
GO
—————————————
–SETANDO O CONTEXTO PARA O BANCO MASTER
USE MASTER;
GO
–DROPANDO O BANCO DE DADOS DB_TESTE
DROP DATABASE DB_TESTE;
GO

Verificar o valor do identity atual de uma tabela no SQL SERVER

Standard
Tomando como exemplo uma tabela chamada tbl_clientes
1) Abaixo segue o comando para descobrir o valor do identity atual desta tabela
DBCC CHECKIDENT (‘tbl_clientes’, NORESEED);
2) Abaixo segue a mensagem de retorno informando qual o valor do identity atual, no caso do nosso exemplo é o 14.
Checking identity information: current identity value ’14’, current column value ’14’.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.