Tecnologia

Páginas: 3 (660 palabras) Publicado: 10 de octubre de 2012
Ciencia e y tecnologia de la computacion

CREATE TABLE Detalle
(
FacturaId int NOT NULL ,
ProductoId char(18) NOT NULL ,
Cantidad decimal(8,2) NULL ,SubTotal decimal(8,2) NULL
)
go

ALTER TABLE Detalle
ADD PRIMARY KEY (FacturaId ASC,ProductoId ASC)
go

CREATE TABLE Factura
(
FacturaId int NOT NULL ,
NumSerievarchar(40) NULL ,
ClienteId int NULL ,
Total decimal(8,2) NULL ,
IGV decimal(8,2) NULL ,
Estado char(1) NULL ,Fecha datetime NULL
)
go

ALTER TABLE Factura
ADD PRIMARY KEY (FacturaId ASC)
go

CREATE TABLE Producto
(
ProductoId char(18) NOT NULL ,
Descripcionvarchar(80) NULL ,
PrecioUnit decimal(8,2) NULL ,
PrecioMay decimal(8,2) NULL ,
Stock int NULL
)
go

ALTER TABLE Producto
ADD PRIMARY KEY (ProductoIdASC)
go

ALTER TABLE Detalle
ADD FOREIGN KEY (FacturaId) REFERENCES Factura(FacturaId)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE Detalle
ADD FOREIGN KEY (ProductoId)REFERENCES Producto(ProductoId)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

1.- Generar Procedimientos Almacenados y Funciones para el registro de detalle, donde el precio debe ser de acuerdoa la cantidad registrada.
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES
WHERE SPECIFIC_SCHEMA = 'dbo' AND SPECIFIC_NAME='sp_reg_detal')
DROP PROCEDURE dbo.sp_reg_detal
GO
CREATEPROCEDURE dbo.sp_reg_detal
@idfact int ,
@idprod char(18),
@cant decimal (8,2)
AS
DECLARE @subt decimal(8,2)
DECLARE @stock int
DECLARE crun CURSOR FOR
SELECT stock
FROM PRODUCTO
WHEREproductoId= @idprod

OPEN crun
FETCH crun INTO @stock
CLOSE crun
DEALLOCATE crun

IF @cant < 1
PRINT'LA CANTIDAD DEBE SER MAYOR A CERO'

ELSE IF @stock > @cant + 4
BEGIN
SET @subt =...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Tecnologia
  • Tecnología
  • Tecnologia
  • Tecnologia
  • Tecnologia
  • Tecnologia
  • Tecnologia
  • Tecnologia

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS