SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela
|
|
- Jorge Benevides Castilhos
- 8 Há anos
- Visualizações:
Transcrição
1 SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela Certamente você já ouviu falar muito sobre triggers. Mas o quê são triggers? Quando e como utilizá-las? A verdade é que triggers nada mais são que um tipo especial de stored procedurecom a capacidade de poder ser vinculada a uma tabela ou view e que são disparadas (daí o nometriggers) em resposta a eventos de INSERT, UPDATE ou DELETE que ocorrem sobre uma tabela ou view a qual estão vinculadas. Em versões mais antigas do SQL Server as triggers eram muito utilizadas para garantir a integridade referencial dos dados. No entanto, com as versões mais recentes como SQL Server 2000 e 2005, muitas destas tarefas passaram a ser melhor executadas pelas constraints eforeign keys. Diante disso, as triggers são hoje muito utilizadas para criar regras de auditoria, como inclusive já foi destacado em outros artigos. O fato é que as triggers são verdadeiras ferramentas que quando bem utilizadas podem ajudar a implementar complexas regras de negócio, permitir a modificação de dados em múltiplas tabelas ou até executar rollback de transações inteiras. Neste artigo, será feita uma introdução aos tipos de triggers disponíveis no SQL Server e será demonstrado como utilizar um tipo especial detrigger chamada INSTEAD OF para criar triggers em views, permitindo controlar as atualizações em tabelas através das views. Alem disso, será apresentado também como podemos identificar ou auditar quais colunas de uma tabela estão sendo atualizadas em uma instrução de UPDATE, utilizando uma função especial chamada COLUMNS_UPDATE. Tipos de Triggers O ponto chave para uma correta utilização das triggers é conhecer seus tipos e principalmente entender o funcionamento e a diferença entre cada uma delas. O SQL Server oferece basicamente dois tipos de triggers, estas são chamadas AFTER e INSTEAD OF triggers. Até a chegada do SQL Server 2000 as AFTER triggers eram o único tipo de trigger disponível no SQL Server. Estas são executadas após a ocorrência de um evento de INSERT, UPDATE ou DELETE podendo ser usadas para fazer rollback de uma modificação de dados e ainda ser chamada de forma recursiva até 32 níveis, ou seja, trigger1 que chama a trigger2 que chama a trigger3 e assim sucessivamente até atingir a trigger32. No entanto, uma das limitações das AFTER triggers está no fato de que elas não podem ser usadas em views, vinculadas a mais de uma tabela e também não podem ser utilizadas sobre colunas do tipo text, ntext ou image. Para que você possa entender mais claramente o funcionamento de uma AFTER trigger, vamos a um exemplo prático. O exemplo da Listagem 1 cria uma AFTER trigger sobre a tabela Authors do banco de dados Pubs.
2 Listagem 1. Exemplo de AFTER trigger. 1. CREATE TRIGGER tr_after_update_authors ON Authors AFTER UPDATE 2. AS 3. IF UPDATE(city) 4. BEGIN 5. RAISERROR ('A cidade não pode ser alterada!', 16, 1) 6. SELECT au_id,city FROM authors WHERE au_id= ' ' 7. ROLLBACK 8. END 9. GO Com esta trigger, quando um evento de UPDATE for executado sobre a tabela Authors a triggerserá disparada e verificará se a coluna city foi atualizada (linha 3). Em caso afirmativo, a triggerirá disparar uma mensagem dizendo que a alteração não pode ser realizada (linha 5), fará um SELECT sobre a tabela Author e irá desfazer o comando de UPDATE usando o ROLLBACK da linha 7. O importante ao se trabalhar com AFTER triggers é saber que elas somente são disparadas após o evento de UPDATE, DELETE ou INSERT ter ocorrido, ou seja, após o valor ter sido alterado na tabela afetada. Isso pode ser facilmente verificado se você utilizar o script da Listagem 2 para disparar a trigger criada pelo script da Listagem 1. O script executa um UPDATE sobre a coluna city alterando a cidade para São Paulo onde o au_id for igual a , isso irá causar o disparo da trigger, e logo em seguida faz um SELECT sobre a tabela authors. Listagem 2. Script para disparar a AFTER trigger -- Causará o disparo da trigger UPDATE authors set city='são Paulo' WHERE au_id= ' ' GO
3 -- Mostra valor original da coluna SELECT au_id,city FROM authors WHERE au_id= ' ' Ao executar o script teremos o seguinte resultado: Msg 50000, Level 16, State 1, Procedure tr_after_update_authrs, Line 5 A cidade não pode ser alterada! au_id city São Paulo au_id city Berkeley O ponto de atenção no resultado são os valores da coluna city. Observe que no SELECT executado dentro da trigger, o valor da coluna city está como São Paulo, isso mostra claramente que a trigger foi disparada após o valor ter sido alterado na tabela. Já no SELECT executado após o UPDATE o valor da coluna está como Berkeley, este é o valor original da coluna. Vale lembrar que o valor só voltou para seu original porque dentro da trigger dalistagem 1 está sendo executado um ROLLBACK na linha 7. Disponíveis a partir do SQL Server 2000, as INSTEAD OF triggers superam as limitações das AFTER triggers e também podem ser usadas nos eventos de INSERT, UPDATE e DELETE. Entretanto, diferente das AFTER triggers, elas são disparadas antes da ocorrência do evento. Por exemplo, imagine que você possui uma INSTEAD OF UPDATE trigger sobre a tabela Authors e um UPDATE é executado na coluna city. Diferente do que ocorre nas AFTER triggers, o UPDATE não chega a alterar o valor original da coluna. Antes disso a trigger é disparada e aí você pode fazer qualquer trabalho ou aplicar regras de negócio antes que o dado seja efetivamente alterado na tabela. Na Listagem 3 temos um exemplo simples de uma INSTEAD OF trigger. Propositalmente deixei o exemplo bem semelhante ao exemplo da AFTER trigger apresentado nalistagem 1, com a diferença que desta
4 vez não se tem o comando de ROLLBACK. Note também que na declaração da trigger, ao invés de usar a sintaxe AFTER UPDATE estou utilizando INSTEAD OF UPDATE. Listagem 3. Exemplo de INSTEAD OF trigger. 1. CREATE TRIGGER tr_insteadof_update_authors ON Authors INSTEAD OF UPDATE 2. AS 3. IF UPDATE(city) 5. BEGIN 6. RAISERROR ('Instead of trigger, a coluna city ainda não foi alterada!', 16, 1) 7. SELECT au_id,city FROM authors WHERE au_id= ' ' 8. END 9. GO Neste exemplo, quando um UPDATE for executado sobre a tabela Authors a trigger será disparada antes que o evento atualize o dado na tabela. Se você re-executar o script da Listagem 2notará que diferente do que ocorreu com a AFTER trigger, os resultado dos dois SELECTs serão iguais. Isso mostra claramente que quando a trigger foi disparada o valor da coluna city ainda não havia sido efetivamente alterado na tabela. Observe no resultado apresentado abaixo que o SELECT executado dentro da trigger não apresenta o valor da coluna city como sendo São Paulo. Lembre-se também que desta vez não temos o comando de ROLLBACK dentro da trigger. Msg 50000, Level 16, State 1, Procedure tr_inseadof_update_authors, Line 5 Instead of trigger, a coluna city ainda não foi alterada! au_id city Berkeley
5 au_id city Berkeley O uso das INTEAD OF triggers é interessante, pois permite que o desenvolvedor tenha um maior controle sobre a ação da trigger, permitindo inclusive realizar operações totalmente diferentes do que o usuário está tentando fazer. No entanto, a principal vantagem das INSTEAD OF triggersestá no fato destas poderem ser usadas em views. Adicionar uma INSTEAD OF trigger a umaview permite que você torne a view atualizável, também conhecido como updatable views. Tornar uma view atualizável permite que você possa executar comando de INSERT, UPDATE e DELETE sobre a view sem precisar conhecer a estrutura da tabela ou tabelas afetadas. Por outro lado, trabalhar com views atualizáveis permite que você oculte a estrutura real de suas tabelas podendo disponibilizar para os usuários um conjunto de views que faz o trabalho de atualização dos dados. No decorrer deste artigo estaremos mostrando como você pode usar uma INSTEAD OF triggerpara tornar uma view atualizável e controlar os UPDATEs sobre as tabelas. No início deste tópico foi dito que o SQL Server possui dois tipos básicos de triggers: as AFTER e as INSTEAD OF triggers. No entanto, a partir do SQL Server 2005 um novo tipo de trigger foi adicionado ao produto: estas são chamadas de DDL triggers. Diferente das AFTER e INSTEAD OFtriggers que são disparadas em resposta a eventos de manipulação de dados (INSERT, UPDATE e DELETE), as triggers de DDL são disparadas em resposta aos eventos de definição de dados (CREATE, ALTER e DROP), permitindo capturar qualquer evento que possa criar, alterar ou excluir objetos tanto no nível banco de dados quanto no nível servidor. Um exemplo simples de criação de uma trigger de DDL pode ser visto na Listagem 4. O exemplo cria uma trigger de DDL de nome ddl_trigger_drop_alter_table que monitora as ocorrências dos eventos DROP TABLE e ALTER TABLE no banco de dados AdventureWorks no SQL Server 2005 e impede a exclusão ou alteração de qualquer tabela dentro do banco de dados. Listagem 4. Trigger de DDL que impede a exclusão e alteração de tabelas. 1. USE AdventureWorks
6 2. GO 3. --Cria uma tabela de teste 4. IF OBJECT_ID('dbo.TBTESTEDDL') IS NOT NULL 5. DROP TABLE dbo.tbtesteddl 6. GO 7. CREATE TABLE dbo.tbtesteddl 8. ( 9. ID INT IDENTITY, 10. NOME VARCHAR(30) 11. ) 12. GO Cria uma trigger de DDL no banco de dados 14. CREATE TRIGGER ddl_trigger_drop_alter_table 15. ON DATABASE 16. FOR DROP_TABLE, ALTER_TABLE 17. AS 18. PRINT 'Você não tem permissão para excluir ou alterar tabelas.' 19. ROLLBACK 20. GO Tenta excluir a tabela 22. DROP TABLE dbo.tbtesteddl 23. GO
7 Tenta alterar tabela 25. ALTER TABLE dbo.tbtesteddl 26. ALTER COLUMN NOME VARCHAR (40) Exclui os objetos criados 28. DROP TRIGGER DDL_DROP_ALTER_TABLE ON DATABASE 29. DROP TABLE dbo.tbtesteddl Para simular o funcionamento da trigger, das linhas 1 a 12 o exemplo primeiramente cria uma tabela de teste no banco de dados AdvantureWorks e das linhas 13 a 20 parte para a criação da trigger. Como podemos observar, o exemplo cria uma trigger de escopo banco de dados (linha 15), a qual será disparada após a execução dos eventos de banco de dados DROP TABLE e ALTER TABLE (linha 16). Ao ser disparada, a trigger envia para o usuário a mensagem de que ele não possui permissão para excluir ou alterar tabelas e impede que a tabela seja excluída ou alterada fazendo um ROLLBACK da transação que disparou os eventos (linha 19). Das linhas 21 a 29 temos os eventos que ao serem executados irão disparar a trigger e depois remover os objetos criados no exemplo. Criando views atualizáveis com as INSTEAD OF triggers Como eu disse no tópico anterior, a principal vantagem na utilização das INSTEAD OF triggersestá no fato que você pode criar uma INSTEAD OF trigger sobre uma view, tornando a viewatualizável. Isso permite que você execute comandos de INSERT, UPDATE e DELETE sobre a viewsem conhecer a estrutura das tabelas afetadas e dentro da trigger fazer todos os tratamentos necessários, como, tratar regras de negócio e decidir qual tabela ou tabelas devem ser atualizadas. Isso possibilita a atualização dos dados sem precisar acessar as tabelas diretamente, o que inclusive adiciona maior segurança quanto ao acesso indevido à estrutura das tabelas. Para exemplificar a utilização de INSTEAD OF trigger em views, vamos imaginar um pequeno cenário que inclui uma tabela de Clientes e uma tabela de Pedidos. O script da Listagem 5 permite a criação das tabelas e as popula com alguns dados de exemplo. Listagem 5. Script para criar e polular as tabelas de Clientes e Pedidos.
8 CREATE TABLE Clientes ( Cli_ID INT IDENTITY(1,1) PRIMARY KEY, Nome varchar (20), Cidade varchar(20)) CREATE TABLE Pedidos( PedidoID INT IDENTITY(1,1) PRIMARY KEY, Cli_ID INT REFERENCES Clientes(Cli_ID), ValorPedido decimal (10,2), DataPedido smalldatetime DEFAULT(GETDATE())) -- Carrega tabela de clientes com dados de exemplo INSERT INTO Clientes VALUES('Empresa 1', 'Rio de Janeiro') INSERT INTO Clientes VALUES('Empresa 2', 'São Paulo') INSERT INTO Clientes VALUES('Empresa 3', 'Curitiba') -- Carrega tabela de pedidos com dados de exemplos INSERT INTO Pedidos (Cli_ID,ValorPedido) VALUES (1,100.00) INSERT INTO Pedidos (Cli_ID,ValorPedido) VALUES (2,800.00) INSERT INTO Pedidos (Cli_ID,ValorPedido) VALUES (3, ) Após a criação e carga das tabelas, os dados estão como os apresentados na Figura 1.
9 Figura 1. Dados de exemplo das tabelas clientes e pedidos. Agora que as tabelas de exemplo estão criadas e com dados, devemos criar uma view que faça um JOIN entre as duas tabelas e permita visualizar os dados de uma forma mais simples. AListagem 6 apresenta o script de criação da view. Listagem 6. Script de criação de uma view para UNIR as tabelas Clientes e Pedidos. CREATE VIEW vw_clientes_pedidos AS SELECT cli.cli_id,cli.nome, ped.valorpedido, ped.datapedido FROM Clientes cli INNER JOIN Pedidos ped ON cli.cli_id = ped.cli_id GO Na Figura 2 temos o resultado da execução da view vw_clientes_pedidos.
10 Figura 2. Dados e colunas da view vw_clientes_pedidos. Estando com as tabelas e view criadas, precisamos então criar uma INSTEAD OF trigger sobre aview. Isso permitirá que você realize modificações (INSERT, UPDATE e DELETE) nas tabelas sem precisar acessar as tabelas de forma direta. Para demonstrar isso, será utilizado o script dalistagem 7 para criar uma INSTEAD OF trigger de INSERT sobre a view criada pela Listagem 6. Listagem 7. Script de criação da INSTEAD OF trigger 1. CREATE TRIGGER tr_vw_clientes_pedidos ON vw_clientes_pedidos 2. INSTEAD OF INSERT 3. AS 4. BEGIN 5. IF EXISTS (SELECT TOP 1 * FROM INSERTED WHERE Cli_ID IS NOT NULL) 6. BEGIN 7. INSERT INTO Pedidos(Cli_ID, ValorPedido) 8. SELECT i.cli_id, i.valorpedido FROM INSERTED i 9. END 10.END 11.GO Note no script que na declaração da trigger (linhas 1 e 2) é especificado que a trigger será de INSERT, ou seja, esta trigger será disparada toda vez que um INSERT for efetuado sobre a view. Depois, a primeira instrução da trigger faz uma checagem na tabela INSERTED para garantir que o Cli_ID não é nulo (linha 5). A
11 partir do momento que sabemos que existe um Cli_ID, podemos então assumir que está sendo inserido um novo pedido para um cliente e usamos a trigger para fazer um INSERT sobre a tabela de Pedidos através dos dados que estão na tabela INSERTED. Quando trabalhamos com AFTER ou INSTEAD OF triggers, estas nos disponibilizam duas tabelas chamadas INSERTED e DELETED. Estas tabelas são tabelas virtuais que existem apenas durante o tempo de execução da trigger e podem ser usadas para capturar o antes e depois de uma operação INSERT, UPDATE ou DELETE. As tabelas são afetadas de forma diferente dependendo da operação executada. A Tabela 1 mostra o que contém em cada tabela de acordo com a operação. Operação Tabela INSERTED contém Tabela DELETED contém DELETE Não possui registros Registros excluídos INSERT Novos registros Não possui registros UPDATE Novos registros Registros antigos Tabela 1. Efeito das operações de INSERT, UPDATE e DELETE sobre as tabelas INSERTED e DELETED. Com a trigger criada sobre a view, temos agora a capacidade de fazer INSERT sobre as tabelas (neste exemplo estamos usando apenas a tabela Pedidos) utilizando a view. Um exemplo de instrução de INSERT utilizando a view pode ser visto abaixo: INSERT INTO vw_clientes_pedidos(cli_id, ValorPedido) VALUES(1, 1200) O exemplo executa um INSERT sobre a view vw_clientes_pedidos fornecendo um Cli_ID válido e um valor de pedido. Com isso teremos um novo registro sendo inserido sobre a tabela de Pedidos. Executando um SELECT sobre a view após a execução do INSERT podemos notar na Figura 3 ainclusão de um novo pedido para o Cli_ID igual a 1.
12 Figura 3: Inclusão de pedidos através da view. Vale lembrar que da mesma forma que criamos uma INSTEAD OF trigger de INSERT, você também pode estar criando trigger para UPDATE e DELETE. O exemplo utilizado aqui foi apenas para mostrar o poder e a flexibilidade oferecidos pelas INSTEAD OF trigger. Com elas você pode ocultar de seus analistas ou desenvolvedores a estrutura real das tabelas e impedir que modificações sejam feitas diretamente nas tabelas. Usando a função COLUMNS_UPDATED para identificar colunas que sofreram atualizações Nas edições 34 (setembro/2006) da SQL Magazine e 41 (Junho/2007) da.net Magazine foram publicados artigos respectivamente sobre Auditoria de Operações DDL (CREATE, ALTER e DROP) com as triggers de DDL e Auditoria de Operações DML (INSERT, UPDATE e DELETE) com a cláusula OUTPUT no SQL Server Sabemos que a auditoria de dados é muito importante, principalmente quando trabalhamos com informações confidenciais. Agora, além de auditar modificações de dados e objetos, também pode ser interessante auditar as colunas que sofreram atualizações. No entanto, a grande questão é: Como fazer para identificar quais colunas de uma tabela foram atualizadas em uma instrução de UPDATE? É aí que entra a função COLUMNS_UPDATED. Disponível apenas dentro de uma trigger, a função COLUMNS_UPDATED pode ser utilizada em AFTER ou INSTEAD OF triggers para retornar um valor binário contendo as colunas que foram incluídas em uma instrução de UPDATE ou INSERT baseado na ordem das colunas da tabela ouview afetada. Ao utilizar esta função dentro de uma trigger, fica fácil saber qual coluna foi alterada e aí basta gravar isso em uma tabela de auditoria. Para exemplificar o uso desta função, utilizaremos o script da Listagem 8 para criar as tabelas de Pedidos e PedidosAudit. Note que na tabela PedidosAudit temos a coluna ColunaAtualizadaque será utilizada para armazenar as colunas utilizadas
13 nas instruções de UPDATE, ou seja, as colunas que sofreram atualizações. Estes dados serão armazenados em formato XML. Listagem 8. Script de criação das tabelas de exemplo Pedidos e PedidosAudit CREATE TABLE Pedidos (PedidoID INT IDENTITY(1,1), Produto VARCHAR(30) NOT NULL, DataPedido SMALLDATETIME, ValorPedido DECIMAL(10,2) ) CREATE TABLE PedidosAudit (AuditID INT IDENTITY(1,1), PedidosID INT, Produto VARCHAR(30) NOT NULL, Valorpedido DECIMAL (10,2), ColunaAtualizada XML NULL ) -- Carrega a tabela de Pedidos com dados exemplo INSERT INTO Pedidos (Produto, DataPedido, ValorPedido) VALUES ('Produto 1', ' ', ) INSERT INTO Pedidos (Produto, DataPedido, ValorPedido) VALUES ('Produto 2', ' ', ) Estando com as tabelas criadas, precisamos agora de uma AFTER trigger para capturar os eventos de UPDATE disparados sobre a tabela Pedidos. Esta trigger deve então utilizar a função COLUMNS_UPDATED para que possamos
14 identificar quais colunas foram atualizadas pelo UPDATE. Na Listagem 9 temos o código de exemplo para criação da trigger. Listagem 9. Script de criação da AFTER trigger de UPDATE sobre a tabela Pedidos 1. CREATE TRIGGER tr_pedidos ON Pedidos AFTER UPDATE 2. AS 3. BEGIN 4. XML 5. VARBINARY(100) 6. = COLUMNS_UPDATED() = ( 9. SELECT COLUMN_NAME AS Name FROM INFORMATION_SCHEMA.COLUMNS Field 10. WHERE TABLE_NAME = 'Pedidos' 11. ANDsys.fn_IsBitSetInBitmask(@ColunasAtualizadas,COLUMNPROPERTY(OBJE CT_ID(TABLE_SCHEMA + '.' TABLE_NAME), COLUMN_NAME, 'ColumnID')) <> FOR XML AUTO, ROOT('Fields')) INSERT INTO PedidosAudit (PedidoID, Produto, ValorPedido, ColunaAtualizada) 16. SELECT FROM INSERTED 17.END Nesta trigger temos dois pontos chaves. O primeiro é a declaração da (linha 5). Esta é a variável de tipo binário que armazena o valor binário retornado pela função COLUMNS_UPDATED (linha 6) e que na linha 12
15 é passada como parâmetro para a função de sistema sys.fn_isbitsetinbitmask (disponível apenas no SQL Server 2005), o segundo ponto chave da trigger. Na verdade, todo o trabalho pesado da trigger é feito por esta função de sistema. Observe que ela recebe dois parâmetros: o valor binário armazenado na (que armazena as colunas sendo atualizadas) e o ColumnID das colunas da tabela Pedidos, este obtido através da view de sistema INFORMATION_SCHEMA.COLUMNS. Recebendo estes parâmetros, a função retorna um valor diferente de 0 para cada coluna da tabela Pedidos que estiver contida no valor binário da A trigger então armazena o nome das colunas que foram incluídas na instrução de UPDATE em formato XML na permitindo que na linha 15 possamos inserir estes campos na tabela de auditoria. Estando a trigger criada, podemos executar uma instrução de UPDATE sobre a tabela Pedidos e consultar a tabela de auditoria PedidosAudit para visualizar o resultado. Um exemplo pode ser visto na Figura 4 onde a instrução de UPDATE atualiza a coluna ValorPedido, atualizando o valor dos pedidos em mais 40. Note que na tabela de auditoria PedidosAudit a coluna ColunaAtualizada informa a coluna que sofreu a atualização. Figura 4: Tabela de auditoria mostrando a coluna que sofreu atualização.
16 Como um exemplo de update de múltiplas colunas, a Figura 5 mostra um UPDATE sendo efetuado sobre as colunas Produto e ValorPedido. Na tabela de auditoria a coluna ColunaAtualizada mostra as colunas que sofreram atualizações. Figura 5: Tabela de auditoria mostrando as colunas que sofreram atualizações. Os exemplos apresentados aqui infelizmente só funcionam no SQL Server 2005 devido à utilização do tipo de dados XML, mas também principalmente devido à função de sistemasys.fn_isbitsetinbitmask só estar disponível no SQL Server No entanto, você pode facilmente copiar o script da função para o SQL Server 2000 e utilizar o tipo de dados varchar() em substituição ao tipo XML. Isso permitirá que você use esta solução de auditoria também no SQL Server Conclusões No decorrer deste artigo foram apresentados os tipos de trigger disponíveis no SQL Server e, principalmente, foi mostrado que o ponto chave na utilização das triggers é conhecer seus tipos e entender seu funcionamento. Após isso, foi mostrado também que as INSTEAD OF trigger são excelentes para se utilizar em views, tornando as views atualizáveis e podendo realizar operações de INSERT, UPDATE e DELETE sem precisar acessar as tabelas diretamente. Por fim, vimos que auditar as colunas que sofrem atualizações em uma tabela é bastante simples quando usamos a função COLUMNS_UPDATE e sys.fn_isbitsetinbitmask. Bom, agora é com vocês, um abraço e até a próxima.
Tarefa Orientada 19 Triggers
Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma
Leia maisGatilhos (Triggers) Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com. Elaborado por Maria Lígia B. Perkusich
Gatilhos (Triggers) Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Elaborado por Maria Lígia B. Perkusich O que é um gatilho (trigger)? Um gatilho é um tipo especial de procedimento armazenado
Leia mais8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)
8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) Nos itens anteriores vimos transações do tipo explícitas, ou seja, aquelas que iniciam com BEGIN TRANSACTION. As outras
Leia maisPROCEDIMENTOS ARMAZENADOS (Stored Procedures)
PROCEDIMENTOS ARMAZENADOS (Stored Procedures) 1. Introdução Stored Procedure é um conjunto de comandos, ao qual é atribuído um nome. Este conjunto fica armazenado no Banco de Dados e pode ser chamado a
Leia maisBANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando
Leia maisEXEMPLOS DE COMANDOS NO SQL SERVER
EXEMPLOS DE COMANDOS NO SQL SERVER Gerenciando Tabelas: DDL - DATA DEFINITION LANGUAG Criando uma tabela: CREATE TABLE CLIENTES ID VARCHAR4 NOT NULL, NOME VARCHAR30 NOT NULL, PAGAMENTO DECIMAL4,2 NOT NULL;
Leia maisAPOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL
1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)
Leia maisTRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso):
TRANSAÇÕES 1. Introdução Transação Uma transação é uma unidade lógica de trabalho (processamento), formada por um conjunto de comando SQL, que tem por objetivo preservar a integridade e a consistência
Leia maisSQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.
SQL comando SELECT Uma das tarefas mais requisitadas em qualquer banco de dados é obter uma listagem de registros armazenados. Estas tarefas são executadas pelo comando SELECT Sintaxe: SELECT [DISTINCT]
Leia maisFAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure
Leia maisTreinamento sobre SQL
Treinamento sobre SQL Como Usar o SQL Os dois programas que você mais utilizara no SQL Server são: Enterprise Manager e Query Analyzer. No Enterprise Manager, você pode visualizar e fazer alterações na
Leia maisIntrodução à Engenharia da Computação. Banco de Dados Professor Machado
Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:
Leia maisListando itens em ComboBox e gravando os dados no Banco de Dados MySQL.
Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2012 Edição 7 Listando e Gravando Listando itens em ComboBox e gravando os dados no
Leia maisTriggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL
Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Linguagem de Programação de Banco de Dados Triggers em PostgreSQL Todos os bancos de dados comerciais possuem uma linguagem procedural auxiliar para a
Leia maisBases de Dados 2007/2008. Aula 9
Bases de Dados 2007/2008 Aula 9 1. T-SQL TRY CATCH 2. TRATAMENTO ERROS RAISERROR 3. TRIGGERS 4. EXERCÍCIOS Sumário Referências http://msdn2.microsoft.com/en-us/library/ms189826.aspx (linguagem t-sql) http://www.di.ubi.pt/~pprata/bd/bd0405-proc.sql
Leia maisExemplos de Gatilhos. Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com
Exemplos de Gatilhos Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Exemplo 1 Enunciado Crie um gatilho que emita uma mensagem de quantas linhas serão inseridas ou modificadas na tabela authors
Leia maisBANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br
BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br Na última aula estudamos Unidade 4 - Projeto Lógico Normalização; Dicionário de Dados. Arquitetura
Leia maisPersistência de Classe e Auto- Relacionamento em Tabelas de Banco de Dados
UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classe e Auto- Relacionamento em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário
Leia maisPHP INTEGRAÇÃO COM MYSQL PARTE 1
INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança
Leia mais2008.1. A linguagem SQL
SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão
Leia maisTrabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011
Trabalhando com conexão ao banco de dados MySQL no Lazarus Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 4 O Componente Trabalhando com conexão ao banco de dados MySQL no Lazarus Ano: 03/2011
Leia maisProfº Aldo Rocha. Banco de Dados
Profº Aldo Rocha Banco de Dados HOJE! CREATE TABLE com uma Chave primária Primeiramente façam um SELECT na tabela pessoa. Percebam que não há NENHUMA CHAVE PRIMÁRIA. utilizem o comando SHOW CREATE TABLE
Leia maisADMINISTRAÇÃO DE BANCO DE DADOS
ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 03 AT03 Diversos II Page 1 of 25 Indice EXEMPLOS COM GROUP BY E COM A CLÁUSULA HAVING - TOTALIZANDO DADOS... 3 GROUP BY... 3 Cláusula HAVING com GROUP BY... 5 ENTENDENDO
Leia maisAULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES
BANCO DE DADOS GERENCIAL 1 AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES Integridade de domínio A integridade de domínio é a validade de entradas para uma coluna específica. É possível aplicar a integridade
Leia maisControle de transações em SQL
Transações Controle de transações em SQL Uma transação é implicitamente iniciada quando ocorre uma operação que modifica o banco de dados (INSERT, UPDATE ou DELETE). Uma transação pode terminar normalmente
Leia maisAULA 2 INTERAÇÃO COM O BANCO DE DADOS
AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,
Leia maisCriando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011
Criando Banco de Dados, Tabelas e Campos através do HeidiSQL Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 2 Pedreiros da Informação Criando Banco de Dados, Tabelas e Campos através do HeidiSQL
Leia maisCONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo
CONCORRÊNCIA 1. Introdução Recursos exclusivos Não necessita controle Abundância de recursos compartilhados Controle necessário mas mínimo Harmonia, provavelmente não haverá conflito Recursos disputados
Leia maisProjeto de Banco de Dados
Projeto de Banco de Dados Prof. Marcelo Siedler Objetivos do documento: Apresentar os conceitos de stored procedutes e funções. Exercícios. Referência: http://dev.mysql.com/doc/refman/4.1/pt/stored-procedures.html
Leia maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS
Leia maisTarefa Orientada 16 Vistas
Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um
Leia maisProgramação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza
PHP e Banco de Dados progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net PHP e Banco de Dados É praticamente impossível
Leia maisComandos de Manipulação
SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL
Leia mais2008.1 SQL. Autor: Renata Viegas
SQL Autor: Renata Viegas A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua
Leia maisTriggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve
Triggers e Regras Fernando Lobo Base de Dados, Universidade do Algarve 1 / 14 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.
Leia mais1. SQL Instrumental...2 1.1 Select...3 1.2 Delete...13 1.3 Update... 1.4 Insert... 1.5 Group by... 1.6 Having... 1.7 Unnion All...
SQL 1. SQL Instrumental...2 1.1 Select...3 1.2 Delete...13 1.3 Update... 1.4 Insert... 1.5 Group by... 1.6 Having... 1.7 Unnion All... 2. Servidor... 2.1 Ativando log no Broker... 2.2 Leitura do log no
Leia maisStructured Query Language (SQL)
SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas
Leia maisADMINISTRAÇÃO DE BANCO DE DADOS
ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 02 AT02 Diversos I 1 Indice ESQUEMAS NO BANCO DE DADOS... 3 CRIANDO SCHEMA... 3 CRIANDO TABELA EM DETERMINADO ESQUEMA... 4 NOÇÕES BÁSICAS SOBRE CRIAÇÃO E MODIFICAÇÃO
Leia maisIntrodução ao SQL. Aécio Costa
Aécio Costa A linguagem SQL é um padrão de linguagem de consulta comercial e possui as seguintes partes: Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Definição
Leia maisRoteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos
Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de
Leia maisRevisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL
Urano Indústria de Balanças e Equipamentos Eletrônicos Ltda. Rua Irmão Pedro 709 Vila Rosa Canoas RS Fone: (51) 3462.8700 Fax: (51) 3477.4441 Características do Software Urano Integra 2.2 Data: 12/05/2014
Leia maisTriggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.
Triggers um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre. o evento pode ser INSERT, UPDATE, ou DELETE. o trigger pode ser accionado imediatamente
Leia maisPROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger
PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger A tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco
Leia maisProf. Carlos Majer Aplicações Corporativas UNICID
Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da Universidade Cidade de São Paulo UNICID Licença de Uso Este trabalho está licenciado sob uma Licença
Leia maisUm objeto de estatística contém informações de distribuição de valores de uma ou mais colunas de uma tabela ou view indexada
Desvendando Estatísticas do SQL Server Parte 1 Nesta série de artigos vamos dar um mergulho profundo nas Teorias Probabilísticas (mais conhecido como estatísticas) do SQL Server. Introdução Estatísticas
Leia maisManter estatísticas atualizadas é uma das regras de ouro na busca por performance.
Atualização de Estatísticas Um objeto de estatística pode ser atualizado manualmente pelo usuário, através dos comandos SP_UPDATESTATS e/ou UPDATE STATISTICS. Enquanto que a procedure SP_UPDATESTATS atualiza
Leia maisIntrodução à linguagem SQL
Introdução à linguagem SQL 1 Histórico A linguagem de consulta estruturada (SQL - Structured Query Language) foi desenvolvida pela empresa IBM, no final dos anos 70. O primeiro banco de dados comercial
Leia maisTransações Seguras em Bancos de Dados (MySQL)
Transações Seguras em Bancos de Dados (MySQL) Índice Entendendo os storage engines do MySQL 5 1 As ferramentas 1 Mais algumas coisas que você deve saber 1 Com a mão na massa 2 Mais ferramentas Usando o
Leia maisAULA 2 INTERAÇÃO COM O BANCO DE DADOS
AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,
Leia maisBanco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva - www.assembla.com/spaces/objetivobd/documents
Banco de dados Linguagens de Banco de Dados II 1 Linguagem de Definição de Dados - DDL Comandos utilizados para criação do esquema de dados; Um DDL permite ao utilizador definir tabelas novas e elementos
Leia maisProfº Aldo Rocha. Banco de Dados
Profº Aldo Rocha Banco de Dados Aula Passada Na aula passada nós iniciamos a utilização e conhecimento de comandos voltados para implementação de rotinas em banco de dados. Os comandos apresentados foram:
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II
UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 3 Linguagem SQL Linguagem de manipulação de dados (DML) DISCIPLINA: Banco de
Leia maisOperação de União JOIN
Operação de União JOIN Professor Victor Sotero SGD 1 JOIN O join é uma operação de multi-tabelas Select: o nome da coluna deve ser precedido pelo nome da tabela, se mais de uma coluna na tabela especificada
Leia maisProcedimentos armazenados
Procedimentos armazenados Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Material da Profª Maria Lígia B. Perkusich Procedimentos armazenados (i) Definição Um procedimento armazenado (stored procedure)
Leia maisNoções de. Microsoft SQL Server. Microsoft SQL Server
Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados
Leia maisDesenvolvendo Websites com PHP
Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.
Leia maisTarefa Orientada 15 Manipulação de dados
Tarefa Orientada 15 Manipulação de dados Objectivos: Criação de tabelas teste Comando INSERT INTO Inserção de dados Comando INSERT Actualização de dados Comando UPDATE Eliminação de dados Comando DELETE
Leia maisAndroid e Bancos de Dados
(Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do
Leia maisBanco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL
Banco de Dados Exercícios SQL 1 TRF (ESAF 2006) 32. Analise as seguintes afirmações relacionadas a Bancos de Dados e à linguagem SQL: I. A cláusula GROUP BY do comando SELECT é utilizada para dividir colunas
Leia maisSegurança de Acesso a Banco de Dados no MS SQL Server
Segurança de Acesso a Banco de Dados no MS SQL Server Para efetuar com sucesso os exemplos que serão mostrados a seguir é necessário que exista no SQL Server uma pessoa que se conecte como Administrador,
Leia maisPrincipais Instruções em SQL
Instrução Principais Instruções em SQL Instrui o programa principal do banco de dados para retornar a informação como um conjunto de registros. Sintaxe [predicado { * tabela.* [tabela.]campo1 [AS alias1]
Leia maisLINGUAGEM SQL. SQL Server 2008 Comandos iniciais
1 LINGUAGEM SQL SQL Server 2008 Comandos iniciais SQL - STRUCTURED QUERY LANGUAGE Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação.
Leia maisProjeto de Banco de Dados: Empresa X
Projeto de Banco de Dados: Empresa X Modelo de negócio: Empresa X Competências: Analisar e aplicar o resultado da modelagem de dados; Habilidades: Implementar as estruturas modeladas usando banco de dados;
Leia maisLaboratório de Banco de Dados II Aula 1. Stored Procedures
Laboratório de Banco de Dados II Aula 1 Stored Procedures Stored procedures Uma seqüência de comandos SQL pode ser agrupada, formando uma stored procedure A sua execução é comandada, invocando-se o nome
Leia maisRevisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011
Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 5 SELECT * FROM Minha_memoria Revisando Sintaxes SQL e Criando programa de Pesquisa Ano:
Leia maisBanco de Dados II. Triggers e Functions. Prof. Moser Fagundes. Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas
Banco de Dados II Triggers e Functions Prof. Moser Fagundes Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas Sumário da aula Functions (funções) Triggers (gatilhos) Atividades Functions
Leia maisPROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger
PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger a tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco
Leia maisBANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010
BANCO DE DADOS: SQL UERN - Universidade do Estado do Rio Grande do Norte. Departamento de Ciências da Computação. 27 de janeiro de 2010 índice 1 Introdução 2 3 Introdução SQL - Structured Query Language
Leia maisIntrodução à Banco de Dados. Nathalia Sautchuk Patrício
Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem
Leia maisCRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO
CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO Antes de criarmos um novo Banco de Dados quero fazer um pequeno parênteses sobre segurança. Você deve ter notado que sempre
Leia maisTarefa Orientada 18 Procedimentos armazenados
Tarefa Orientada 18 Procedimentos armazenados Objectivos: Criar Procedimentos armazenados Chamar procedimentos armazenados Utilizar parâmetros de entrada e de saída Um procedimento armazenado representa
Leia maisBANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre
BANCO DE DADOS BANCO DE DADOS Prof. Patrícia Lucas 3º Trimestre ROTEIRO PARA O 3º TRIMESTRE 1. O MySQL DDL SQL 1. Como funciona o MySQL 2. Como criar um banco de dados no MySQL 3. Como criar tabelas: comandos
Leia maisMANUAL DE UTILIZAÇÃO SISTEMA DE CADASTRO INTRANET
MANUAL DE UTILIZAÇÃO SISTEMA DE CADASTRO INTRANET I Sumário 1. Objetivo do Documento... 1 2. Início... 1 3. Cadastro de Pessoa Física... 3 3.1. Preenchimentos Obrigatórios.... 4 3.2. Acesso aos Campos
Leia maishttp://www.multside.com.br CODE IGNITER INSTALAÇÃO & BANCO DE DADOS
CODE IGNITER INSTALAÇÃO & BANCO DE DADOS INSTALAÇÃO Instalar o code-igniter é muito simples, basta que você tenha um servidor que rode PHP 5 (para saber consulte a documentação PHP do seu servidor). Após
Leia maisTrecho retirando do Manual do esocial Versão 1.1
Trecho retirando do Manual do esocial Versão 1.1 A rotina de acesso direto ao XML do S-1000, o usuário pode encontrar na opção de cadastro de Empresas do SIP. Sempre que o usuário localizar a figura ao
Leia maisSQL Structured Query Language
Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa
Leia maistrigger insert, delete, update
1 Um trigger é um conjunto de instruções SQL armazenadas no catalogo da BD Pertence a um grupo de stored programs do MySQL Executado quando um evento associado com uma tabela acontece: insert, delete,
Leia maisSistema de Controle de Estoque
FACULDADE DE TECNOLOGIA SENAC GOIAS GESTÃO EM TECNOLOGIA DA INFORMÇÃO TÓPICOS AVANÇADOS EM BANCO DE DADOS Professor: Olegário Correia Neto Alunos: Marcelo Gonçalves, Juliano Pirozelli, João Lucas Pecin,
Leia maisBases de Dados 2005/2006. Aula 5
Bases de Dados 2005/2006 Aula 5 Sumário -1. (T.P.C.) Indique diferenças entre uma tabela e uma relação. 0. A base de dados Projecto 1. SQL Join (variantes) a. Cross Join b. Equi-Join c. Natural Join d.
Leia maisManual do Google agenda. criação e compartilhamento de agendas
Manual do Google agenda criação e compartilhamento de agendas 1 O que é o Google Agenda? Google Agenda é um serviço de agenda on line gratuito do Google, onde você pode anotar compromissos e tarefas, organizando
Leia maisEXERCÍCIOS PRÁTICOS. Banco de Dados
EXERCÍCIOS PRÁTICOS Banco de Dados Introdução ao uso do SQL Structured Query Language, considerando tanto DDL Data Definition Language quanto DML Data Manipulation Language. Banco de Dados selecionado:
Leia maisBanco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.
Banco de Dados O que é um Banco de Dados? Este assunto é muito vasto, tentaremos resumi-lo para atender as questões encontradas em concursos públicos. Já conhecemos o conceito de dado, ou seja, uma informação
Leia maisBases de Dados. Lab 1: Introdução ao ambiente
Departamento de Engenharia Informática 2010/2011 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo
Leia maisPersistência de Dados
Persistência de s Universidade do Estado de Santa Catarina - Udesc Centro de Ciências Tecnológicas - CCT Departamento de Ciência da Computação Tecnologia de Sistemas de Informação Estrutura de s II - DAD
Leia maisNeste artigo, serão apresentados os principais conceitos sobre os TRIGGERS e sua aplicabilidade.
www.devm edia.com.br [versão para im pressão] MySQL TRIGGERS Neste artigo, serão apresentados os principais conceitos sobre os TRIGGERS e sua aplicabilidade. MySQL TRIGGERS Neste artigo, serão apresentados
Leia maisDisciplina: Unidade V: Prof.: E-mail: Período:
Encontro 17 Disciplina: Sistemas de Banco de Dados Unidade V: Introdução à Linguagem SQL Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM 13. Introdução à Linguagem SQL Introdução
Leia maisSQL: Definição de tabelas, Modificações à Base de Dados
SQL: Definição de tabelas, Modificações à Base de Dados Fernando Lobo Base de Dados, Universidade do Algarve 1 / 24 Definição do esquema da base de dados O esquema da BD é composto pelas definições de
Leia maisBanco de Dados. Prof. Antonio
Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards
Leia maisUNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS. Profº Erinaldo Sanches Nascimento
UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS Profº Erinaldo Sanches Nascimento Introdução Cursor é usado para percorrer um conjunto de linhas retornadas por uma consulta
Leia maisBanco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011
Banco de Dados I Aula 12 - Prof. Bruno Moreno 04/10/2011 Plano de Aula SQL Definição Histórico SQL e sublinguagens Definição de dados (DDL) CREATE Restrições básicas em SQL ALTER DROP 08:20 Definição de
Leia maisIniciação à Informática
Meu computador e Windows Explorer Justificativa Toda informação ou dado trabalhado no computador, quando armazenado em uma unidade de disco, transforma-se em um arquivo. Saber manipular os arquivos através
Leia maisManual de digitação de contas Portal AFPERGS
Manual de digitação de contas Portal AFPERGS 1 Sumário Acesso à função digitação de contas... 3 O que é a Função digitação de contas (DC)... 4 Como proceder na função digitação de conta médica (DC)...
Leia maisPortal Sindical. Manual Operacional Empresas/Escritórios
Portal Sindical Manual Operacional Empresas/Escritórios Acesso ao Portal Inicialmente, para conseguir acesso ao Portal Sindical, nos controles administrativos, é necessário acessar a página principal da
Leia maisManual SAGe Versão 1.2 (a partir da versão 12.08.01)
Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação
Leia maisAULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS
AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS Na grande maioria dos sistemas, faz-se necessário utilizar informações que estão armazenadas em uma determinada
Leia maisBases de Dados 1º semestre
DepartamentodeEngenhariaInformática 2008/2009 BasesdeDados1ºsemestre Lab1:Introduçãoaoambiente O ficheiro create bank.sql contém um conjunto de instruções SQL para criar a base de dadosdeexemploilustradanafigura1.
Leia maisAuditoria de sistemas Deixe que seu banco de dados faça o trabalho por você
Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você por Cristóferson Guimarães Magalhães Bueno e Odilon Corrêa da Silva 1 O objetivo deste artigo é demonstrar como criar um sistema
Leia mais