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

quinta-feira, 17 de março de 2011

Usando Insert SQL Server

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

Nenhum comentário:

Postar um comentário

Related Posts Plugin for WordPress, Blogger...