1. Crear Base de Datos:
CREATE TABLE [dbo].[Articulo] (
[codart] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[desart] [varchar] (25) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[preart] [numeric](18, 0) NOT NULL ,
[stoart] [numeric](18, 0) NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Cargo] (
[codcar] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[descar] [varchar] (25) COLLATE Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Cliente] (
[codcli] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[nomcli] [varchar] (20) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[apecli] [varchar] (20) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[dircli] [varchar] (25) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[ruccli] [varchar] (11) COLLATE Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Detalle] (
[nrofac] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[codart] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[candet] [int] NOT NULL ,
[impdet] [int] NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Empleado] (
[codemp] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[nomemp] [varchar] (20) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[apeemp] [varchar] (20) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[diremp] [varchar] (25) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[sexemp] [varchar] (1) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[telemp] [varchar] (8) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[codcar] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[pasemp] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Factura] (
[nrofac] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[codemp] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[fecfac] [datetime] NOT NULL ,
[subtot] [numeric](18, 0) NOT NULL ,
[totigv] [numeric](18, 0) NOT NULL ,
[totfac] [numeric](18, 0) NOT NULL ,
[codcli] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO 2. Vistas:
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.a
AS
SELECT TOP 100 PERCENT codcli AS Codigo, nomcli AS Nombre, apecli AS Apellidos, dircli AS Direccion, ruccli AS Ruc
FROM dbo.Cliente
ORDER BY nomcli
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.b
AS
SELECT TOP 100 PERCENT codcli, nomcli, apecli, dircli, ruccli
FROM dbo.Cliente
WHERE (nomcli LIKE 'M%')
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.c
AS
SELECT dbo.Articulo.*
FROM dbo.Articulo
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.d
AS
SELECT codart, desart, preart, stoart
FROM dbo.Articulo
WHERE (preart <= 30.00)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.e
AS
SELECT dbo.Empleado.codemp, dbo.Empleado.nomemp, dbo.Empleado.apeemp, dbo.Cargo.descar
FROM dbo.Empleado INNER JOIN
dbo.Cargo ON dbo.Empleado.codcar = dbo.Cargo.codcar
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.f
AS
SELECT dbo.Cliente.nomcli, dbo.Cliente.apecli, dbo.Factura.fecfac
FROM dbo.Cliente INNER JOIN
dbo.Factura ON dbo.Cliente.codcli = dbo.Factura.codcli
WHERE (dbo.Factura.fecfac = CONVERT(DATETIME, '2008-08-25 00:00:00', 102))
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.g
AS
SELECT dbo.Empleado.nomemp, dbo.Empleado.apeemp, dbo.Factura.fecfac
FROM dbo.Empleado INNER JOIN
dbo.Factura ON dbo.Empleado.codemp = dbo.Factura.codemp
WHERE (dbo.Factura.fecfac = CONVERT(DATETIME, '2008-07-25 00:00:00', 102))
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO 3. Procedimientos Almacenados:
SET QUOTED_IDENTIFIER ON
-- Un procedimiento que le permita conocer los datos personales del cliente, a travez de su codigo
create procedure P_A
@codigo varchar(5) as
Select * from cliente where codcli = @codigo
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
--Un procedimiento que le informe el codigo de un articulo ingresando su nombre
CREATE procedure P_B
@nombre varchar(20) as
select desart,codart from articulo where desart like @nombre
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
-- Se quiere conocer el password de un determinado empleado conociendo su codigo y su nombre
create procedure P_C
@codigo varchar(5),
@nombre varchar(20) as
select codemp,nomemp,pasemp from empleado where codemp=@codigo and nomemp = @nombre
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
--Se quiere conoceren base al sexo y al cargo, el nombre y apellido de un respectivo empleado
CREATE procedure P_D
@sexo varchar(1),
@cargo varchar(25) as
select nomemp,apeemp,descar
from empleado,cargo
where sexemp=@sexo and descar = @cargo
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
--Se quiere conocer el stock existente de un determinado articulo a travez de su codigo
create procedure P_E
@codigo varchar(5) as
select desart,stoart from articulo where codart = @codigo
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE P_F as
Select * from factura where fecfac = '27/08/2008' or fecfac='28/08/2008' and totfac > '50'
GO
Es mejor descargarte el Codigo Original que te crea todo.
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Detalle_Articulo]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[Detalle] DROP CONSTRAINT FK_Detalle_Articulo
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Empleado_Cargo]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[Empleado] DROP CONSTRAINT FK_Empleado_Cargo
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Factura_Cliente]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[Factura] DROP CONSTRAINT FK_Factura_Cliente
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Factura_Empleado]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[Factura] DROP CONSTRAINT FK_Factura_Empleado
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Detalle_Factura]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[Detalle] DROP CONSTRAINT FK_Detalle_Factura
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[P_A]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[P_A]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[P_B]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[P_B]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[P_C]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[P_C]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[P_D]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[P_D]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[P_E]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[P_E]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[P_F]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[P_F]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[f]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[g]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[g]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[e]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[e]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[a]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[a]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[b]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[b]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[c]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[c]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[d]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[d]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Articulo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Articulo]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Cargo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Cargo]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Cliente]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Cliente]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Detalle]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Detalle]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Empleado]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Empleado]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Factura]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Factura]
GO
CREATE TABLE [dbo].[Articulo] (
[codart] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[desart] [varchar] (25) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[preart] [numeric](18, 0) NOT NULL ,
[stoart] [numeric](18, 0) NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Cargo] (
[codcar] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[descar] [varchar] (25) COLLATE Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Cliente] (
[codcli] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[nomcli] [varchar] (20) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[apecli] [varchar] (20) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[dircli] [varchar] (25) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[ruccli] [varchar] (11) COLLATE Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Detalle] (
[nrofac] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[codart] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[candet] [int] NOT NULL ,
[impdet] [int] NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Empleado] (
[codemp] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[nomemp] [varchar] (20) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[apeemp] [varchar] (20) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[diremp] [varchar] (25) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[sexemp] [varchar] (1) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[telemp] [varchar] (8) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[codcar] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[pasemp] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Factura] (
[nrofac] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[codemp] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[fecfac] [datetime] NOT NULL ,
[subtot] [numeric](18, 0) NOT NULL ,
[totigv] [numeric](18, 0) NOT NULL ,
[totfac] [numeric](18, 0) NOT NULL ,
[codcli] [varchar] (5) COLLATE Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.a
AS
SELECT TOP 100 PERCENT codcli AS Codigo, nomcli AS Nombre, apecli AS Apellidos, dircli AS Direccion, ruccli AS Ruc
FROM dbo.Cliente
ORDER BY nomcli
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.b
AS
SELECT TOP 100 PERCENT codcli, nomcli, apecli, dircli, ruccli
FROM dbo.Cliente
WHERE (nomcli LIKE 'M%')
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.c
AS
SELECT dbo.Articulo.*
FROM dbo.Articulo
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.d
AS
SELECT codart, desart, preart, stoart
FROM dbo.Articulo
WHERE (preart <= 30.00)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.e
AS
SELECT dbo.Empleado.codemp, dbo.Empleado.nomemp, dbo.Empleado.apeemp, dbo.Cargo.descar
FROM dbo.Empleado INNER JOIN
dbo.Cargo ON dbo.Empleado.codcar = dbo.Cargo.codcar
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.f
AS
SELECT dbo.Cliente.nomcli, dbo.Cliente.apecli, dbo.Factura.fecfac
FROM dbo.Cliente INNER JOIN
dbo.Factura ON dbo.Cliente.codcli = dbo.Factura.codcli
WHERE (dbo.Factura.fecfac = CONVERT(DATETIME, '2008-08-25 00:00:00', 102))
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.g
AS
SELECT dbo.Empleado.nomemp, dbo.Empleado.apeemp, dbo.Factura.fecfac
FROM dbo.Empleado INNER JOIN
dbo.Factura ON dbo.Empleado.codemp = dbo.Factura.codemp
WHERE (dbo.Factura.fecfac = CONVERT(DATETIME, '2008-07-25 00:00:00', 102))
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
-- Un procedimiento que le permita conocer los datos personales del cliente, a travez de su codigo
create procedure P_A
@codigo varchar(5) as
Select * from cliente where codcli = @codigo
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
--Un procedimiento que le informe el codigo de un articulo ingresando su nombre
CREATE procedure P_B
@nombre varchar(20) as
select desart,codart from articulo where desart like @nombre
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
-- Se quiere conocer el password de un determinado empleado conociendo su codigo y su nombre
create procedure P_C
@codigo varchar(5),
@nombre varchar(20) as
select codemp,nomemp,pasemp from empleado where codemp=@codigo and nomemp = @nombre
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
--Se quiere conoceren base al sexo y al cargo, el nombre y apellido de un respectivo empleado
CREATE procedure P_D
@sexo varchar(1),
@cargo varchar(25) as
select nomemp,apeemp,descar
from empleado,cargo
where sexemp=@sexo and descar = @cargo
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
--Se quiere conocer el stock existente de un determinado articulo a travez de su codigo
create procedure P_E
@codigo varchar(5) as
select desart,stoart from articulo where codart = @codigo
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE P_F as
Select * from factura where fecfac = '27/08/2008' or fecfac='28/08/2008' and totfac > '50'
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
