problemas en asignacion de una base datos por codigo?

cazadorite
07 de Julio del 2009
hola no consigo ver que esta asignando mal me salta en en el insert de detalle de venta en cod venta pero yo lo miro y le encuentro error.

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)

jatg1410
07 de Julio del 2009
Lo primero que te recomiendo es que ejecutes los comandos por separado para que compruebes si cada uno esta bien, recuerda que siempre es mejor dividir un bloque de comandos para hacer comprobaciones que analizarlo todo de un golpe, verifica además que no utilizas más de 32 comandos porque en caso de ser así te dará error el script.

Saludos,

http://www.comandos-linux.we.bs
http://www.manual-html.we.bs