Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

segunda-feira, 3 de outubro de 2011

SQL Server 2008 - Modulo 06 - Curso 2778

--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

Related Posts Plugin for WordPress, Blogger...