--Aula 01 - Inserting Data into Tables
-- ====================================================================================
-- Autor : Lineu Alves Lima Filho
-- Data Criação : 02/11/2009
-- Descrição : Módulo 06
-- ====================================================================================
-- Versão : 1.0
-- ====================================================================================
-- Versão : 1.1
-- Data Atualização : 25/02/2010
-- ====================================================================================
USE [master]
GO
IF EXISTS (SELECT * FROM sys.databases
WHERE [name] = 'DB2778')
DROP DATABASE DB2778
GO
CREATE DATABASE DB2778
GO
USE DB2778
GO
CREATE TABLE estoque
(
cod_prod INT IDENTITY,
nome_prod CHAR(30),
val_prod DEC(9,2),
qtda_prod INT
)
GO
--Inserindo um registro na ordem das colunas na tabela
INSERT INTO estoque
VALUES ('Arroz', 9.89, 10)
--Inserindo um registro especificando as colunas explicitamente
INSERT INTO estoque (val_prod, qtda_prod, nome_prod)
VALUES (2.48, 21, 'Cebola')
--Inserindo somente uma coluna
INSERT INTO estoque (nome_prod)
VALUES ('Batata')
--Inserindo explicitamente valor na coluna definida com IDENTITY
--Desabilita o IDENTITY
SET IDENTITY_INSERT estoque ON
--Habilita o IDENTITY
SET IDENTITY_INSERT estoque OFF
INSERT INTO estoque (cod_prod, nome_prod)
VALUES (100, 'Rabanete')
SELECT TOP 20 * FROM estoque
--Inserindo vários registros de uma só vez
INSERT INTO estoque VALUES
('Feijão',3.59, 7), ('Cenoura',2.00, 91), ('Beterraba',1.19, 23),
('Farinha',2.19, 78), ('Ervilha',1.19, 2), ('Milho Verde',3.49, 7),
('Tomate',4.59, 10)
SELECT TOP 20 * FROM estoque
CREATE TABLE pessoa
(
cod_pessoa INT,
primeiro_nome NVARCHAR(50),
nome_meio NVARCHAR(50),
sobrenome NVARCHAR(50),
sobrenome2 NVARCHAR(50)
)
GO
--Populando 4 colunas da tabela "pessoa" com dados da tabela Person.Person
--do banco de dados AdventureWorks2008
--Nome Colunas Origem: (BusinessEntityID, FirstName, MiddleName e LastName)
--Nome Colunas Destino: (cod_pessoa, primeiro_nome, nome_meio e sobrenome)
INSERT INTO pessoa (cod_pessoa, primeiro_nome, nome_meio, sobrenome)
SELECT BusinessEntityID, FirstName, MiddleName, LastName
FROM AdventureWorks2008.Person.Person
SELECT COUNT_BIG(*) FROM pessoa
--Limpando a tabela sem gerar log
TRUNCATE TABLE pessoa
--Populando 4 colunas da tabela "pessoa" com dados da tabela Person.Person
--do banco de dados AdventureWorks2008 (SOMENTE OS 100 PRIMEIROS REGISTROS)
INSERT INTO pessoa
SELECT TOP 100 BusinessEntityID, FirstName, MiddleName, LastName
FROM AdventureWorks2008.Person.Person
SELECT COUNT(*) FROM pessoa
------------------------------------------
SELECT * FROM estoque
--truncate TABLE estoque
BEGIN TRAN --OU BEGIN TRANSACTION
SELECT @@TRANCOUNT
INSERT INTO estoque
VALUES ('Arroz', 9.89, 10)
COMMIT
-- ou
ROLLBACK
-------------------------------------------------
--SQL Server 2005
CREATE TABLE clientes
(
cod_cli INT IDENTITY PRIMARY KEY,
nome_cli CHAR(30) NOT NULL
)
GO
CREATE TABLE bk_clientes
(
cod_cli INT,
nome_cli CHAR(30)
)
GO
SELECT * FROM clientes
SELECT * FROM bk_clientes
--Criando uma trigger para duplicar todos os registros
--inseridos na tabela clientes na tabela bk_clientes
CREATE TRIGGER tr_clientes ON clientes
FOR INSERT
AS
BEGIN
INSERT INTO bk_clientes (cod_cli, nome_cli)
SELECT cod_cli, nome_cli
FROM inserted
END
GO
--Efetuando as inserções
INSERT INTO clientes VALUES ('Lineu')
INSERT INTO clientes VALUES ('Maria')
INSERT INTO clientes VALUES ('Julia')
SELECT * FROM clientes
SELECT * FROM bk_clientes
--Apagando as tabelas clientes e bk_clientes
DROP TABLE clientes, bk_clientes
GO
--SQL Server 2008
CREATE TABLE clientes
(
cod_cli INT IDENTITY PRIMARY KEY,
nome_cli CHAR(30) NOT NULL
)
GO
CREATE TABLE bk_clientes
(
cod_cli INT,
nome_cli CHAR(30)
)
GO
--Efetuando as inserções
--INSERT 01
INSERT INTO clientes (nome_cli)
OUTPUT INSERTED.cod_cli, INSERTED.nome_cli INTO bk_clientes
VALUES ('Lineu')
--INSERT 02
INSERT INTO clientes (nome_cli)
OUTPUT INSERTED.cod_cli, INSERTED.nome_cli INTO bk_clientes
VALUES ('Maria')
--INSERT 03
INSERT INTO clientes (nome_cli)
OUTPUT INSERTED.cod_cli, INSERTED.nome_cli INTO bk_clientes
VALUES ('Julia')
--ou
INSERT INTO clientes (nome_cli)
OUTPUT INSERTED.* INTO bk_clientes
VALUES ('Julia')
SELECT * FROM clientes
SELECT * FROM bk_clientes
--Aula 02 - Deleting Data from Tables
-- ====================================================================================
-- Autor : Lineu Alves Lima Filho
-- Data Criação : 02/11/2009
-- Descrição : Módulo 06
-- ====================================================================================
-- Versão : 1.0
-- ====================================================================================
-- Versão : 1.1
-- Data Atualização : 25/02/2010
-- ====================================================================================
USE [master]
GO
IF EXISTS (SELECT * FROM sys.databases
WHERE [name] = 'DB2778')
DROP DATABASE DB2778
GO
CREATE DATABASE DB2778
GO
USE DB2778
GO
CREATE TABLE estoque
(
cod_prod INT IDENTITY,
nome_prod CHAR(30),
val_prod DEC(9,2),
qtda_prod INT
)
GO
INSERT INTO estoque VALUES
('Arroz',9.89, 10), ('Batata',1.99, 16), ('Cebola',2.48, 21),
('Feijão',3.59, 7), ('Cenoura',2.00, 91), ('Beterraba',1.19, 23),
('Farinha',2.19, 78), ('Ervilha',1.19, 2), ('Milho Verde',3.49, 7),
('Tomate',4.59, 10)
SELECT TOP 20 * FROM estoque
--Apagando um registro
DELETE FROM estoque
WHERE cod_prod = 1
--Apagando TOP (n) registros
DELETE TOP (2)
FROM estoque
--Apagando todos os registros com DELETE
DELETE FROM estoque
--Apagando todos os registros com TRUNCATE
TRUNCATE TABLE estoque
CREATE TABLE bk_estoque
(
cod_prod INT,
nome_prod CHAR(30),
val_prod DEC(9,2),
qtda_prod INT
)
GO
--Apagando todos os registros
DELETE estoque
OUTPUT DELETED.*
--Apagando todos os registros e visualizando somente a coluna nome_prod
DELETE estoque
OUTPUT DELETED.nome_prod
--Aula 03 - Update Data in Tables
-- ====================================================================================
-- Autor : Lineu Alves Lima Filho
-- Data Criação : 02/11/2009
-- Descrição : Módulo 06
-- ====================================================================================
-- Versão : 1.0
-- ====================================================================================
-- Versão : 1.1
-- Data Atualização : 25/02/2010
-- ====================================================================================
USE [master]
GO
IF EXISTS (SELECT * FROM sys.databases
WHERE [name] = 'DB2778')
DROP DATABASE DB2778
GO
CREATE DATABASE DB2778
GO
USE DB2778
GO
CREATE TABLE estoque
(
cod_prod INT IDENTITY,
nome_prod CHAR(30),
val_prod DEC(9,2),
qtda_prod INT
)
GO
INSERT INTO estoque VALUES
('Arroz',9.89, 10), ('Batata',1.99, 16), ('Cebola',2.48, 21),
('Feijão',3.59, 7), ('Cenoura',2.00, 91), ('Beterraba',1.19, 23),
('Farinha',2.19, 78), ('Ervilha',1.19, 2), ('Milho Verde',3.49, 7),
('Tomate',4.59, 10)
SELECT TOP 20 * FROM estoque
--Atualizando o valor da Batata para 10.99
UPDATE estoque
SET val_prod = 10.99
WHERE cod_prod = 2
--Atualizando todos os produtos em 10%
UPDATE estoque
SET val_prod = val_prod * 1.1
UPDATE estoque
SET val_prod = val_prod * 1.1
OUTPUT inserted.*
--Apagando um registro
DELETE FROM estoque
WHERE cod_prod = 1
--Apagando TOP (n) registros
DELETE TOP (2)
FROM estoque
--Apagando todos os registros com DELETE
DELETE FROM estoque
--Apagando todos os registros com TRUNCATE
TRUNCATE TABLE estoque
CREATE TABLE bk_estoque
(
cod_prod INT,
nome_prod CHAR(30),
val_prod DEC(9,2),
qtda_prod INT
)
GO
--Apagando todos os registros
DELETE estoque
OUTPUT DELETED.*
--Apagando todos os registros e visualizando somente a coluna nome_prod
DELETE estoque
OUTPUT DELETED.nome_prod
Nenhum comentário:
Postar um comentário