Arquivo da categoria: Banco de Dados

Instrução MERGE

O Comando MERGE no SQL Server e Oracle permite desenvolver operações complexas (que muitas vezes só eram possíveis com cursores) em um comando único que pode ao mesmo tempo realizar INSERTS, UPDATES e DELETES em várias Tabelas. O Exemplo abaixo … Continuar lendo

Publicado em Banco de Dados II, Programação | Deixe um comentário

Cursores Atualizáveis

Embora pessoalmente eu não goste nem recomende o uso de cursores, principalmente para atualização de dados, tais recursos são muitas vezes necessários ou requisitados pelos desenvolvedores. O tutorial abaixo apresenta como desenvolver um cursor atualizável. CREATE TABLE TabAtualizavel (     ID    INT        IDENTITY(1,1) … Continuar lendo

Publicado em Banco de Dados II, Programação | Deixe um comentário

BD II – Cursor para Atualizar Estoque

ALTER PROCEDURE pAtualizaEstoque @Conta varchar(20) AS     DECLARE CProdutosVendidos CURSOR     FOR     SELECT V.VendaID, VD.ProdutoID, VD.QtdPedido     from VendasVenda V inner join VendasVendaDetalhe VD         ON V.VendaID = vd.VendaID     where V.Conta = @Conta     OPEN CProdutosVendidos –abrir o cursor     –Variaveis Auxiliares     DECLARE @VendaID int, @ProdutoID … Continuar lendo

Publicado em Banco de Dados II, Programação | Deixe um comentário

BD II – Triggers e Informações complementares

CREATE TYPE T_PAI_ID FROM INT GO CREATE TABLE PAI (     PAI_ID    T_PAI_ID IDENTITY(0,1) PRIMARY KEY NOT NULL,     PAI        VARCHAR(100) ) GO CREATE TABLE FILHOS (     FILHO_ID INT IDENTITY(0,1) NOT NULL ,     PAI_ID     T_PAI_ID REFERENCES PAI (PAI_ID),     FILHO     VARCHAR(100) ) GO CREATE TRIGGER … Continuar lendo

Publicado em Banco de Dados II, Programação, Triggers | Deixe um comentário

CONCEITOS BÁSICOS DE PROGRAMAÇÃO SQL

  — criando uma variavel DECLARE @VARIAVEL int — atribuindo um valor SET @VARIAVEL = 1 — Consumindo o valor SELECT @VARIAVEL — TEMPO DE VIDA — A VARIAVÉL EXIST SOMENTE NO ESCOPO DO BATCH CORRENTE — OU SEJA, ATÉ … Continuar lendo

Publicado em Banco de Dados II, Programação | Deixe um comentário

STORED PROCEDURES – AULA 1

  — UMA STORED PROCEDURES BÁSICA, UTILIZADA PARA RELATÓRIO   CREATE PROCEDURE ImprimeNotaFiscal ( @VENDAID INT ) AS SELECT H.OrderDate, H.CustomerID, D.ProductID, D.OrderQty, D.UnitPriceDiscount, D.UnitPrice FROM Sales.SalesOrderHeader H inner join Sales.SalesOrderDetail D     ON H.SalesOrderID = D.SalesOrderID WHERE H.SalesOrderID = @VENDAID     … Continuar lendo

Publicado em Banco de Dados II, Programação | Deixe um comentário

VIEWS – Conceitos Básicos

Finalidade Views são utilizadas para diversas finalidades, as principais são: – Reutilização de Consultas – Aplicar restrições de Segurança – Ferramenta de Desempenho – Simplificar acesso aos Dados   Como Criar uma View CREATE VIEW MeuContatos AS SELECT ContatoID,     Cargo, … Continuar lendo

Publicado em Banco de Dados II, VIEWS | Deixe um comentário

Como validar parâmetros de Entrada em Stored Procedures

Muitas vezes existem dependências e restrições de dados que impedem a inserção e alteração de dados de forma simplificada. Por exemplo, considere a tabela abaixo que contem uma constraint do tipo Check que impede que seja cadastrado um valor fora … Continuar lendo

Publicado em Banco de Dados II, Programação, Stored Procedures | Deixe um comentário

Usando uma Stored Procedure para Atualizar Campos Específicos

A Stored Procedure abaixo atualiza apenas os campos que lhe forem passados, dessa forma o usuário não precisa passar todos os campos quanto quer atualizar apenas o valor de 1 deles. CREATE PROCEDURE p_Atualiza @chave int, @campo1 char(10) = null, … Continuar lendo

Publicado em Banco de Dados II, Programação, Stored Procedures | Deixe um comentário

Quantos Registros São Afetados pela Trigger?

Uma trigger pode ser executada para diversas linhas numa tabela. Quando o comando INSERT, UPDATE ou DELETE afeta várias linhas a trigger é disparada uma única vez (SQL Server). No ORACLE, pode-se optar por criar TRIGGERS que são disparadas uma … Continuar lendo

Publicado em Banco de Dados II, Programação, Triggers | Deixe um comentário