bdpedidos y ejercicios

Upload: dbmsmysql

Post on 05-Apr-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 BDPedidos y Ejercicios

    1/8

  • 7/31/2019 BDPedidos y Ejercicios

    2/8

    CREATE TABLE [dbo] . [PROVEEDORES]([PROVEEDORID] [int] NOT NULL,[NOMBREPROV] [char] ( 50 ) NOT NULL,[CONTACTO] [char] ( 50 ) NOT NULL,

    [CELUPROV] [char] ( 12 ) NULL,[FIJOPROV] [char] ( 12 ) NULL,CONSTRAINT [PK_PROVEEDORES] PRIMARY KEY NONCLUSTERED

    ( [PROVEEDORID] ) )

    GO

    CREATE TABLE [dbo] . [CATEGORIAS]([CATEGORIAID] [int] NOT NULL,[NOMBRECAT] [char] ( 50 ) NOT NULL,

    CONSTRAINT [PK_CATEGORIAS] PRIMARY KEY NONCLUSTERED ( [CATEGORIAID] ) )

    GO

    CREATE TABLE [dbo] . [CLIENTES] ([CLIENTEID] [int] NOT NULL,[CEDULA_RUC] [char] ( 10 ) NOT NULL,[NOMBRECIA] [char] ( 30 ) NOT NULL,[NOMBRECONTACTO] [char] ( 50 ) NOT NULL,[DIRECCIONCLI] [char] ( 50 ) NOT NULL,[FAX] [char] ( 12 ) NULL,[EMAIL] [char] ( 50 ) NULL,[CELULAR] [char] ( 12 ) NULL,[FIJO] [char] ( 12 ) NULL,

    CONSTRAINT [PK_CLIENTES] PRIMARY KEY NONCLUSTERED ( [CLIENTEID] ) )GO

    CREATE TABLE [dbo] . [ORDENES]([ORDENID] [int] NOT NULL,[EMPLEADOID] [int] NOT NULL,[CLIENTEID] [int] NOT NULL,[FECHAORDEN] [datetime] NOT NULL,[DESCUENTO] [int] NULL,

    CONSTRAINT [PK_ORDENES] PRIMARY KEY NONCLUSTERED ( [ORDENID]) )

    GO

    CREATE TABLE [dbo] . [DETALLE_ORDENES]([ORDENID] [int] NOT NULL,[DETALLEID] [int] NOT NULL,[PRODUCTOID] [int] NOT NULL,[CANTIDAD] [int] NOT NULL,

    CONSTRAINT [PK_DETALLE_ORDENES] PRIMARY KEY NONCLUSTERED ( [ORDENID], [DETALLEID] ) )

    GO

    CREATE TABLE [dbo] . [PRODUCTOS]([PRODUCTOID] [int] NOT NULL,[PROVEEDORID] [int] NOT NULL,

  • 7/31/2019 BDPedidos y Ejercicios

    3/8

  • 7/31/2019 BDPedidos y Ejercicios

    4/8

  • 7/31/2019 BDPedidos y Ejercicios

    5/8

  • 7/31/2019 BDPedidos y Ejercicios

    6/8

  • 7/31/2019 BDPedidos y Ejercicios

    7/8

  • 7/31/2019 BDPedidos y Ejercicios

    8/8

    /*5.2 Escriba un procedimiento almacenado que reciba como parmetro unnombre de una categora y

    devuelve el cdigo del producto de esa categora que tiene msunidades vendidas. */

    select * from categoriasselect * from productos select * from detalle_ordenes

    DROP PROCEDURE masvendido

    CREATE PROCEDURE masvendido @nomcat varchar ( 80 ) ASSELECT 'MAS VENDIDO' = do . productoidFROM detalle_ordenes do join productos p ON do . productoid = p. productoidWHERE cantidad > ( select MAX( SUM( CANTIDAD))from detalle_ordenes do join productos p

    on do . productoid = p. productoidjoin categorias con p. categoriaid = c . categoriaidwhere c . nombrecat = @nomcat )RETURN

    Exec masvendido 'LACTEOS'

    select p. productoid , sum( cantidad ) INTO NUM from productos p join categorias c on

    ( c . categoriaid =p. categoriaid ) join detalle_ordenes dor on ( p. productoid =dor . productoid )where c . nombrecat =nomCatgroup by descripcion , p. productoidorder by sum DESClimit 1;return num;