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