Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/06/2009, 10:44
cazadorite
 
Fecha de Ingreso: mayo-2007
Ubicación: Buenos aires
Mensajes: 19
Antigüedad: 17 años, 10 meses
Puntos: 0
problemas en asignacion de una base datos por codigo?

hola no consigo ver que esta asignando mal me salta en detalle de venta en cod venta pero yo lo miro y le encuentro error.
Código:
USE master
GO

CREATE DATABASE LAB3_TP04
ON 
( NAME = 'LAB3_TP04_dat',
   FILENAME = 'c:\LAB3_TP04_dat.mdf',
   SIZE = 1MB,
   MAXSIZE = 50MB,
   FILEGROWTH = 2MB )
LOG ON
( NAME = 'LAB3_TP04_log',
   FILENAME = 'c:\LAB3_TP04_log.ldf',
   SIZE = 1MB,
   MAXSIZE = 10MB,
   FILEGROWTH = 1MB )
GO

USE LAB3_TP04
GO

CREATE TABLE PAISES
(
COD_PAIS SMALLINT NOT NULL,
PAIS VARCHAR(30) NOT NULL CHECK(LTRIM(RTRIM(PAIS))<>'')
CONSTRAINT PK_PAIS_CODPA PRIMARY KEY (COD_PAIS)
)
GO

CREATE TABLE LOCALIDADES
(
CP SMALLINT NOT NULL CHECK(CP<=9999), 
LOCALIDAD VARCHAR(30) NOT NULL CHECK(LTRIM(RTRIM(LOCALIDAD))<>''),
COD_PAIS SMALLINT NOT NULL REFERENCES PAISES (COD_PAIS)
CONSTRAINT PK_LOC_CP PRIMARY KEY (CP)
)
GO

CREATE TABLE CLIENTES
(
NOMBRE VARCHAR(40) NOT NULL CHECK(RTRIM(LTRIM(NOMBRE))<>''),
APELLIDO VARCHAR(40) NOT NULL CHECK (RTRIM(LTRIM(APELLIDO))<>''), 
TELEFONO VARCHAR(30) NULL,
CP SMALLINT NOT NULL CHECK (CP <=9999) REFERENCES LOCALIDADES (CP),
COD_CLIENTE TINYINT NOT NULL CHECK(COD_CLIENTE >0)
CONSTRAINT PK_CLI_CODCLI PRIMARY KEY (COD_CLIENTE)
)
GO

CREATE TABLE PROVEEDORES
(
COD_PROVEEDOR TINYINT NOT NULL CHECK(COD_PROVEEDOR >0),
NOMBRE VARCHAR(40) NOT NULL CHECK(RTRIM(LTRIM(NOMBRE))<>''),
DIRECCION VARCHAR(45) NULL,
TELEFONO VARCHAR(30) NULL,
CP SMALLINT NOT NULL REFERENCES LOCALIDADES (CP)
CONSTRAINT PK_PROV_CODPROV PRIMARY KEY (COD_PROVEEDOR)
)
GO

CREATE TABLE VENTAS
(
COD_VENTA INT NOT NULL CHECK(COD_VENTA>0),
COD_CLIENTE TINYINT NOT NULL REFERENCES CLIENTES (COD_CLIENTE),
FECHA SMALLDATETIME NOT NULL CHECK (FECHA <= GETDATE())
CONSTRAINT PK_NUM PRIMARY KEY(COD_VENTA)
)
GO

CREATE TABLE PRODUCTOS 
(
COD_PRODUCTO INT NOT NULL CHECK(COD_PRODUCTO >0),
DESCRIPCION VARCHAR(70) NOT NULL,
PRECIO_U NUMERIC(9,2) NOT NULL CHECK (PRECIO_U >=0),
COD_PROVEEDOR TINYINT NOT NULL CHECK(COD_PROVEEDOR >0) REFERENCES 

PROVEEDORES(COD_PROVEEDOR)
CONSTRAINT PK_PROD_CODPROD PRIMARY KEY (COD_PRODUCTO)
)
GO

CREATE TABLE DETALLE_VENTA
(
COD_VENTA INT NOT NULL REFERENCES VENTAS (COD_VENTA),
COD_PRODUCTO INT NOT NULL REFERENCES PRODUCTOS (COD_PRODUCTO),
CANTIDAD SMALLINT NOT NULL,
PRECIO_U NUMERIC(9,2) NOT NULL 
CONSTRAINT PK_DET PRIMARY KEY(COD_VENTA, COD_PRODUCTO)
)
GO

-- Insertar registros a la tabla detalle_ventas

INSERT INTO DETALLE_VENTA (COD_VENTA, COD_PRODUCTO, CANTIDAD,PRECIO_U)
VALUES(1,2,2,0.62)

INSERT INTO DETALLE_VENTA (COD_VENTA, COD_PRODUCTO, CANTIDAD,PRECIO_U)
VALUES(2,1,5,0.42)

INSERT INTO DETALLE_VENTA (COD_VENTA, COD_PRODUCTO, CANTIDAD,PRECIO_U)
VALUES(3,4,3,0.32)

INSERT INTO DETALLE_VENTA (COD_VENTA, COD_PRODUCTO, CANTIDAD,PRECIO_U)
VALUES(4,5,7,0.22)


-- Insertar registros a la tabla ventas

INSERT INTO VENTAS (COD_VENTA,COD_CLIENTE, FECHA) VALUES (1,1,'10/07/2006')

INSERT INTO VENTAS (COD_VENTA,COD_CLIENTE, FECHA) VALUES (2,2,'11/07/2006')

INSERT INTO VENTAS (COD_VENTA,COD_CLIENTE, FECHA) VALUES (3,3,'12/07/2006')

INSERT INTO VENTAS (COD_VENTA,COD_CLIENTE, FECHA) VALUES (4,4,'13/07/2006')


-- Insertar registros a la tabla productos

INSERT INTO PRODUCTOS (COD_PRODUCTO,DESCRIPCION,PRECIO_U,COD_PROVEEDOR) VALUES 

(1,'LAPICERA AZUL',0.62,1)
INSERT INTO PRODUCTOS (COD_PRODUCTO,DESCRIPCION,PRECIO_U,COD_PROVEEDOR) VALUES 

(2,'LAPICERA VERDE',0.42,2)
INSERT INTO PRODUCTOS (COD_PRODUCTO,DESCRIPCION,PRECIO_U,COD_PROVEEDOR) VALUES 

(3,'TEMPERAS VARIOS COLORES',0.32,3)
INSERT INTO PRODUCTOS (COD_PRODUCTO,DESCRIPCION,PRECIO_U,COD_PROVEEDOR) VALUES 

(4,'LAPIZ NEGRO',0.52,4)


-- Insertar registros a la tabla Paises

INSERT INTO PAISES (COD_PAIS, PAIS) VALUES (1,'ARGENTINA')
INSERT INTO PAISES (COD_PAIS, PAIS) VALUES (2, 'BRASIL')
INSERT INTO PAISES (COD_PAIS, PAIS) VALUES (3, 'URUGUAY')
INSERT INTO PAISES (COD_PAIS, PAIS) VALUES (4, 'ALEMANIA')
INSERT INTO PAISES (COD_PAIS, PAIS) VALUES (5, 'ESPAÑA')

-- Insertar registros a la tabla Localidades

INSERT INTO LOCALIDADES (CP, LOCALIDAD, COD_PAIS) VALUES (1665, 'JOSE C PAZ', 1)
INSERT INTO LOCALIDADES (CP, LOCALIDAD, COD_PAIS) VALUES (1000, 'SAO PAULO', 2)
INSERT INTO LOCALIDADES (CP, LOCALIDAD, COD_PAIS) VALUES (2000, 'MONTEVIDEO', 3)
INSERT INTO LOCALIDADES (CP, LOCALIDAD, COD_PAIS) VALUES (2233, 'BERLIN', 4)
INSERT INTO LOCALIDADES (CP, LOCALIDAD, COD_PAIS) VALUES (5555, 'BARCELONA', 5)

-- Insertar registros a la tabla Clientes

INSERT INTO CLIENTES (NOMBRE, APELLIDO, TELEFONO, CP, COD_CLIENTE) VALUES ('Juan', 

'Perez', '54-11-4555-1232', 1665,1)
INSERT INTO CLIENTES (NOMBRE, APELLIDO, TELEFONO, CP, COD_CLIENTE) VALUES ('Joao', 

'Dos Santos', '55-11-5444-0909', 1000,2)
INSERT INTO CLIENTES (NOMBRE, APELLIDO, TELEFONO, CP, COD_CLIENTE) VALUES ('Jorge', 

'Lario', '598-910-1019', 2000,3)
INSERT INTO CLIENTES (NOMBRE, APELLIDO, TELEFONO, CP, COD_CLIENTE) VALUES ('Paul', 

'Kalkbrenner', '345-232-1111', 2233,4)
INSERT INTO CLIENTES (NOMBRE, APELLIDO, TELEFONO, CP, COD_CLIENTE) VALUES ('Miguel', 

'Sar', '230-322-9988', 5555,5 )

-- Insertar registros a la tabla Proveedores

INSERT INTO PROVEEDORES (COD_PROVEEDOR, NOMBRE, DIRECCION, TELEFONO, CP) VALUES (1, 

'Exedor Chemicals', 'Sarmiento 1233', '54-11-4323-2222', 1665)
INSERT INTO PROVEEDORES (COD_PROVEEDOR, NOMBRE, DIRECCION, TELEFONO, CP) VALUES (2, 

'Drogueria Joao Goulart', ' Rua Avelino Duarte 233', '55-11-5323-2222', 1000)
INSERT INTO PROVEEDORES (COD_PROVEEDOR, NOMBRE, DIRECCION, TELEFONO, CP) VALUES (3, 

'Insumos Tricolor', 'Avenida 18 de Julio 2010', '598-901-3322', 2000)
INSERT INTO PROVEEDORES (COD_PROVEEDOR, NOMBRE, DIRECCION, TELEFONO, CP) VALUES (4, 

'Watergate Chems INC', 'Kraftwerk 1970', '345-232-2000', 2233)
INSERT INTO PROVEEDORES (COD_PROVEEDOR, NOMBRE, DIRECCION, TELEFONO, CP) VALUES (5, 

'Farmacos Anibal', 'Pasaje Ortigoza 1023', '230-322-2121', 5555)