0% encontró este documento útil (0 votos)
20 vistas63 páginas

Semana s2 Base de Datos

Cargado por

Fernando Uc
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas63 páginas

Semana s2 Base de Datos

Cargado por

Fernando Uc
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 63

LABORATORIO 01

1. DER – Lógico: Sistema de Facturación

2. DER – Lógico: Sistema de Facturación con tablas adicionales


3. DER – Lógico: Sistema de Gestión de Almacén
 Generación de la Órden de Abastecimiento:

4. DER – Lógico: Sistema de Gestión de Almacén


5. DER – Lógico: Sistema de Comercialización

VENDEDOR
COD_VEN
NOM_VEN
APE_VEN
SUE_VEN
FIN_VEN
TIP_VEN
COD_DIS

CLIENTE PRODUCTO
COD_CLI COD_PRO
RSO_CLI DES_PRO
DISTRITO
DIR_CLI PRE_PRO
COD_DIS
TLF_CLI SAC_PRO
NOM_DIS
RUC_CLI SMI_PRO
COD_DIS UNI_PRO
FACTURA
FEC_REG NUM_FAC LIN_PRO
TIP_CLI DETALLE_FACTURA IMP_PRO
FEC_FAC
NUM_FAC
CON_CLI COD_CLI
COD_PRO
FEC_CAN
CAN_VEN
EST_FAC
PRE_VEN
COD_VEN
POR_IGV

ABASTECIMIENTO
COD_PRV
COD_PRO
PROVEEDOR
COD_PRV PRE_ABA

RSO_PRV
DIR_PRV
TEL_PRV ORDEN_COMPRA
COD_DIS NUM_OCO

REP_PRV FEC_OCO
COD_PRV DETALLE_COMPRA
NUM_OCO
FAT_OCO
COD_PRO
EST_OCO
CAN_DET
 Sentencias DDL

 Sentencias DML
 Creación de una base de datos
 Modificación de la base de datos

 Activas la base de datos


Los tipos de datos en Sql Server 2016
 TIPOS DE DATOS DEFINIDOS POR EL USUARIO

 Query

SELECT * FROM SYS.SYSTYPES

GO

 Agregar el tipo de datos DNI de ocho caracteres y con la restricciones de campo obligatorio

SP_ADDTYPE DNI, ‘CHAR(8)’, ‘NOT NULL’

SELECT * FROM SYS.SYSTYPES

GO
 Sentencias DLL para gestión de tablas

Creación de una Tabla


 Opciones de la Tabla
B. Comprobar la existencia de una Tabla:
 Modificación de una Tabla
 Eliminación de una tabla
 Restricciones de valores NULOS y NO NULOS
 Restricciones de INTEGRIDAD REFERENCIAL

A. Llave Primaria
 Llave SECUNDARIA
Implementar la tabla DISTRITO asignando a COD_DIS como campo clave:

Primera forma:

CREATE TABLE DISTRITO(

COD_DIS CHAR(5) NOT NULL PRIMARY KEY,

NOM_DIS VARCHAR(50) NOT NULL

GO

CREATE TABLE CLIENTE(

COD_CLI CHAR(5) NOT NULL PRIMARY KEY,


RSO_CLI CHAR(30) NOT NULL,

DIR_CLI VARCHAR(100)NOT NULL,

TLF_CLI CHAR(9) NOT NULL,

RUC_CLI CHAR(11) NULL,

COD_DIS CHAR(5) NOT NULL REFERENCES DISTRITO,

FEC_REG DATE NOT NULL,

TIP_CLI VARCHAR(10) NOT NULL,

CON_CLI VARCHAR(30) NOT NULL

GO

Segunda forma:

CREATE TABLE DISTRITO(

COD_DIS CHAR(5) NOT NULL PRIMARY KEY,

NOM_DIS VARCHAR(50) NOT NULL

GO

CREATE TABLE CLIENTE(

COD_CLI CHAR(5) NOT NULL PRIMARY KEY,

RSO_CLI CHAR(30) NOT NULL,

DIR_CLI VARCHAR(100)NOT NULL,

TLF_CLI CHAR(9) NOT NULL,

RUC_CLI CHAR(11) NULL,

COD_DIS CHAR(5) NOT NULL,

FEC_REG DATE NOT NULL,

TIP_CLI VARCHAR(10) NOT NULL,

CON_CLI VARCHAR(30) NOT NULL,

FOREIGN KEY (COD_DIS) REFERENCES DISTRITO

GO

Tercera forma:

CREATE TABLE DISTRITO(

COD_DIS CHAR(5) NOT NULL PRIMARY KEY,


NOM_DIS VARCHAR(50) NOT NULL

GO

CREATE TABLE CLIENTE(

COD_CLI CHAR(5) NOT NULL PRIMARY KEY,

RSO_CLI CHAR(30) NOT NULL,

DIR_CLI VARCHAR(100)NOT NULL,

TLF_CLI CHAR(9) NOT NULL,

RUC_CLI CHAR(11) NULL,

COD_DIS CHAR(5) NOT NULL,

FEC_REG DATE NOT NULL,

TIP_CLI VARCHAR(10) NOT NULL,

CON_CLI VARCHAR(30) NOT NULL

GO

ALTER TABLE CLIENTE

ADD FOREIGN KEY (COD_DIS) REFERENCES DISTRITO

GO
Restricciones pada datos
1. Identity
--Implementar la tabla FACTURA asignando a NUM_FAC autoincrementable
desde el numero 1000 con un aumento de uno:
CREATE TABLE FACTURA(
NUM_FAC INT NOT NULL PRIMARY KEY IDENTITY(1000,1),
FEC_FAC DATE NOT NULL,
FEC_CAN DATE NOT NULL,
EST_FAC VARCHAR(10) NOT NULL,
POR_IGV DECIMAL NOT NULL
)
GO
--Vamos a registrar cinco facturas para comprobar las numeraciones
automáticas
INSERT INTO FACTURA VALUES('06-07-2013','05-08-2013','2','0.19')
INSERT INTO FACTURA VALUES('06-07-2013','05-08-2013','3','0.19')
INSERT INTO FACTURA VALUES('01-09-2013','03-10-2013','2','0.19')
INSERT INTO FACTURA VALUES('06-09-2013','05-10-2013','2','0.19')
INSERT INTO FACTURA VALUES('01-10-2013','12-10-2013','2','0.19')
2. Default
--Implementar la tabla PROVEEDOR asignando como valor por defecto a
DIR_PRV el termino “NO REGISTRA” y en el campo TEL_PRV asignar 000-
0000000
--Primera forma
CREATE TABLE PROVEEDOR(
COD_PRV CHAR(5) NOT NULL PRIMARY KEY,
RSO_PRV VARCHAR(80) NOT NULL,
DIR_PRV VARCHAR(100)NOT NULL DEFAULT 'NO REGISTRA',
TEL_PRV CHAR(15) NULL DEFAULT '000-0000000',
REP_PRV VARCHAR(80) NOT NULL
)
GO

--Segunda forma
CREATE TABLE PROVEEDOR(
COD_PRV CHAR(5) NOT NULL PRIMARY KEY,
RSO_PRV VARCHAR(80) NOT NULL,
DIR_PRV VARCHAR(100)NOT NULL,
TEL_PRV CHAR(15) NULL,
REP_PRV VARCHAR(80) NOT NULL
)
GO

ALTER TABLE PROVEEDOR


ADD DEFAULT 'NO REGISTRA'
FOR DIR_PRV
GO

ALTER TABLE PROVEEDOR


ADD DEFAULT '000-000000'
FOR TEL_PRV
GO

--Vamos a registrar cinco facturas para comprobar las numeraciones


automáticas
INSERT INTO PROVEEDOR VALUES('PR01','FABER
CASTELL',DEFAULT,'4330895','CARLOS AGUIRRE')
INSERT INTO PROVEEDOR VALUES('PR02','ATLAS','AV. LIMA
471',DEFAULT,'CESAR TORRES')
INSERT INTO PROVEEDOR VALUES('PR03','3M',DEFAULT,DEFAULT,'OMAR
INJOQUE')
INSERT INTO PROVEEDOR VALUES('PR04','DITO','AV. METROPOLITANA
376',NULL,'RAMON FLORES')
INSERT INTO PROVEEDOR VALUES('PR05','ACKER','CALLE LAS DUNAS
245','4780143','JULIO ACUÑA')

--Ahora vamos a visualizar sus registros usando la sentencia SELECT * FROM


PROVEEDOR
--Para visualizar las restricciones aplicadas a la tabla proveedor podemos
ejecutar el siguiente código:
SP_HELPCONSTRAINT PROVEEDOR
GO
3. Check
--Implementar la tabla PRODUCTO haciendo que su precio solo registre
valores entre 1 y 100, el stock actual sea mayor a cero y que solo se permita
registrar los valores bolsa, caja o paquete en la unidad de producto.
--Primera forma
CREATE TABLE PRODUCTO(
COD_PRO CHAR(5) NOT NULL PRIMARY KEY,
DES_PRO VARCHAR(50) NOT NULL,
PRE_PRO MONEY NOT NULL CHECK (PRE_PRO BETWEEN 1 AND 100),
SAC_PRO INT NOT NULL CHECK (SAC_PRO>0),
SMI_PRO INT NOT NULL,
UNI_PRO VARCHAR(30) NOT NULL CHECK (UNI_PRO
IN('BOLSA','CAJA','PAQUETE')),
LIN_PRO VARCHAR(30) NOT NULL,
IMP_PRO VARCHAR(10) NOT NULL
)
GO

--Segunda forma
CREATE TABLE PRODUCTO(
COD_PRO CHAR(5) NOT NULL PRIMARY KEY,
DES_PRO VARCHAR(50) NOT NULL,
PRE_PRO MONEY NOT NULL,
SAC_PRO INT NOT NULL,
SMI_PRO INT NOT NULL,
UNI_PRO VARCHAR(30) NOT NULL,
LIN_PRO VARCHAR(30) NOT NULL,
IMP_PRO VARCHAR(10) NOT NULL
)
GO

ALTER TABLE PRODUCTO


ADD CONSTRAINT CHK_PRECIO
CHECK (PRE_PRO BETWEEN 1 AND 100)
GO

ALTER TABLE PRODUCTO


ADD CONSTRAINT CHK_STOCKACTUAL
CHECK (SAC_PRO>0)
GO

ALTER TABLE PRODUCTO


ADD CONSTRAINT CHK_UNIDAD
CHECK (UNI_PRO IN ('BOLSA','CAJA','PAQUETE'))
GO

--Vamos a comprobar la restriccion en la unidad del producto


INSERT INTO PRODUCTO
VALUES('P001','PAPEL BOND A-4',35.0, 200,1500,'OTRO','2','V')
GO

--Para visualizar las restricciones aplicadas a la tabla producto podemos


ejecutar el siguiente código:
SP_HELPCONSTRAINT PRODUCTO
GO
4. Unique
--Implementar la tabla PROVEEDOR asignando como valor único a la columna teléfono.

--Primera forma

CREATE TABLE PROVEEDOR(

COD_PRV CHAR(5) NOT NULL PRIMARY KEY,

RSO_PRV VARCHAR(80)NOT NULL,

DIR_PRV VARCHAR(100)NOT NULL,

TEL_PRV CHAR(15) NULL UNIQUE,

REP_PRV VARCHAR(80) NOT NULL

GO

--Segunda forma

CREATE TABLE PROVEEDOR(

COD_PRV CHAR(5) NOT NULL PRIMARY KEY,

RSO_PRV VARCHAR(80)NOT NULL,

DIR_PRV VARCHAR(100)NOT NULL,

TEL_PRV CHAR(15) NULL,


REP_PRV VARCHAR(80) NOT NULL

GO

ALTER TABLE PROVEEDOR

ADD CONSTRAINT CHK_TELEFONO

UNIQUE (TEL_PRV)

GO

--Para visualizar las restricciones aplicadas a la tabla proveedor podemos ejecutar el siguiente código:

SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS

WHERE TABLE_NAME = 'PROVEEDOR'

 Sentencias DML para datos

5. Insert
--Realizando la inserción de forma basica

INSERT INTO PRODUCTO VALUES('P001','PAPEL BOND A-4',35.0, 200,1500,'MLL','2','V')

INSERT INTO PRODUCTO VALUES('P002','PAPEL BOND OFICIO ',35, 50,1500,'MLL','2','F')

--Realizando la inserción con especificación de campos


INSERT INTO PRODUCTO (COD_PRO,DES_PRO,PRE_PRO,SAC_PRO,SMI_PRO,UNI_PRO,LIN_PRO,IMP_PRO)

VALUES('P003','PAPEL BULKY ',10 ,498,1000,'MLL','2','V')

INSERT INTO PRODUCTO (COD_PRO,DES_PRO,PRE_PRO,SAC_PRO,SMI_PRO,UNI_PRO,LIN_PRO,IMP_PRO)

VALUES('P004','PAPEL PERIODICO',9,4285,1000,'MLL','2','F')

--Realizando la inserción multiple

INSERT INTO PRODUCTO VALUES

('P005','CARTUCHO TINTA NEGRA', 40 ,50,30,'UNI','1','F'),

('P006','CARTUCHO TINTA COLOR ',45 ,58,35, 'UNI','1','F')

INSERT INTO PRODUCTO (COD_PRO,DES_PRO,PRE_PRO,SAC_PRO,SMI_PRO,UNI_PRO,LIN_PRO,IMP_PRO) VALUES

('P007','PORTA DISKETTES',3.5,300,100,'UNI','1','V'),

('P008','CAJA DE DISKETTES * 10 ',30,125,180,'UNI','1','F')

--Realizando la inserción desde una table externa

CREATE TABLE BK_PRODUCTO(

COD_PRO CHAR(5) NOT NULL PRIMARY KEY,

DES_PRO VARCHAR(50)NOT NULL,

PRE_PRO MONEY NOT NULL,

SAC_PRO INT NOT NULL,

SMI_PRO INT NOT NULL,

UNI_PRO VARCHAR(30)NOT NULL,

LIN_PRO VARCHAR(30) NOT NULL,

IMP_PRO VARCHAR(10) NOT NULL

GO

--Realizar la insercion

INSERT INTO BK_PRODUCTO

SELECT * FROM PRODUCTO

GO

--Comprobar

SELECT * FROM BK_PRODUCTO

GO
--Realizando la inserción con uso de variables

DECLARE @COD CHAR(4),@DES VARCHAR(40),@PRE MONEY,@SAC INT,@SMI INT,@UNI VARCHAR(30),@LIN


INT,@IMP CHAR(1)

SET @COD='P010'

SET @DES='BORRADOR BLANCO'

SET @PRE=8

SET @SAC=2000

SET @SMI=400

SET @UNI='DOC'

SET @LIN='3'

SET @IMP='F'

INSERT INTO PRODUCTO VALUES(@COD,@DES,@PRE,@SAC,@SMI,@UNI,@LIN,@IMP)

GO
6. Update
--Vamos a actualizar los precios aumentando $2.0 a todos los productos

UPDATE PRODUCTO

SET PRE_PRO=PRE_PRO+2

GO

--También podríamos usar el siguiente código:

UPDATE PRODUCTO

SET PRE_PRO+=2

GO
--Actualizando registros condicionados de la tabla producto

--Actualizar el stock actual de los productos solo si dicho stock es menor o igual a $50.00

UPDATE PRODUCTO

SET SAC_PRO*=2

WHERE SAC_PRO<=50

GO

--Actualizar el precio de los productos descontando un 50% del precio actual solo para los productos con código
P001, P005 y P010.

UPDATE PRODUCTO

SET PRE_PRO=PRE_PRO*0.5

WHERE COD_PRO IN ('P001','P005','P010')

GO

--Actualizar la descripción del producto con código P004 por “PAPEL PERIODICO 75 GRAMOS”

UPDATE PRODUCTO

SET DES_PRO='PAPEL PERIODICO 75 GRAMOS'

WHERE COD_PRO='P004'

GO

--Actualizando registros con union de tablas

--Actualizar el teléfono por 0000000 a todos los proveedores cuyo distrito se encuentra registrado con RIMAC.

--Por tanto la siguiente sentencia permite actualizar con 0000000 a todos los proveedores del distrito del RIMAC

UPDATE PROVEEDOR

SET TEL_PRV='0000000'

FROM PROVEEDOR AS P

JOIN DISTRITO AS D ON P.COD_DIS=D.COD_DIS

AND P.COD_DIS= (SELECT COD_DIS

FROM DISTRITO

WHERE NOM_DIS='RIMAC')

GO
--La clausula JOIN permite unir dos o mas tablas; se recomienda usar alias para cada tabla relacionada por que en la
clausula ON se deberá especificar la forma en que se unen ambas tablas y siempre se agregara una condicion de
busqueda tipo subconsulta. En el código anterior la sentencia:

SELECT COD_DIS

FROM DISTRITO

WHERE NOM_DIS='RIMAC'

--Emite como resultado el código D13 que permitirá actualizar a todos los proveedores que cumplan con dicha
condicion. Si no usamos la union de tablas el código de actualizacion seria de la siguiente manera:

UPDATE PROVEEDOR

SET TEL_PRV='0000000'

WHERE COD_DIS='D13'

GO

--O también podríamos optar por la siguiente sentencia:

UPDATE PROVEEDOR

SET TEL_PRV='0000000'

WHERE COD_DIS = (SELECT COD_DIS

FROM DISTRITO

WHERE NOM_DIS='RIMAC')

GO

--Actualizando registros usando variables

--Actualizar el valor importado del producto por F solo para aquellos productos cuyo tipo de unidad sea DOC
(docena).

DECLARE @IMPORTADO CHAR(1)='F'

UPDATE PRODUCTO

SET IMP_PRO=@IMPORTADO

WHERE UNI_PRO='DOC'

GO
7. Delete
--Eliminar todos los registros de la tabla productos

DELETE PRODUCTO

GO

--Eliminar todos los registros de la tabla productos cuyo stock actual sea inferior a 50

DELETE PRODUCTO

WHERE SAC_PRO<50

GO
Ejercicio: Observe el código y comente:
--Activando la base de datos maestra

USE MASTER

GO

--validando la existencia de la base de datos

IF DB_ID('PROYECTOSINDUSTRIALES') IS NOT NULL

BEGIN

DROP DATABASE PROYECTOSINDUSTRIALES

END

--Creando la base de datos

CREATE DATABASE PROYECTOSINDUSTRIALES

GO

--Activando la base de datos

USE PROYECTOSINDUSTRIALES

GO

--Definir el formato de fecha

SET DATEFORMAT DMY

GO

--Creacion de tablas

CREATE TABLE CLIENTE(

IDE_CLI CHAR(5) NOT NULL,

NOM_CLI VARCHAR(50) NOT NULL,

RUC_CLI CHAR(11) NOT NULL,

COD_DIS CHAR(3) NOT NULL,

EMA_CLI VARCHAR(35) NULL


)

GO

CREATE TABLE DISTRITO(

COD_DIS CHAR(3) NOT NULL,

NOM_DIS VARCHAR(40) NOT NULL

GO

CREATE TABLE ENCARGADO(

IDE_ENC CHAR(5) NOT NULL,

APE_ENC VARCHAR(30) NOT NULL,

NOM_ENC VARCHAR(30) NOT NULL,

CAR_ENC VARCHAR(30) NOT NULL,

COD_DIS CHAR(3) NOT NULL,

FIN_ENC DATE NOT NULL

GO

CREATE TABLE PROYECTO(

NUM_PRO INT NOT NULL IDENTITY(1,1),

FEC_PRO DATE NOT NULL,

MON_PRO MONEYNOT NULL

GO

CREATE TABLE DETALLEPROYECTO(

NUM_PRO INT NOT NULL,

IDE_CLI CHAR(5) NOT NULL,

IDE_ENC CHAR(5) NOT NULL,

DES_DET VARCHAR(40) NOT NULL

GO
--Asignando llaves primarias

ALTER TABLE PROYECTO

ADD PRIMARY KEY NONCLUSTERED (NUM_PRO)

ALTER TABLE ENCARGADO

ADD PRIMARY KEY NONCLUSTERED (IDE_ENC)

ALTER TABLE CLIENTE

ADD PRIMARY KEY NONCLUSTERED (IDE_CLI)

ALTER TABLE DETALLEPROYECTO

ADD PRIMARY KEY NONCLUSTERED (NUM_PRO,IDE_CLI)

ALTER TABLE DISTRITO

ADD PRIMARY KEY NONCLUSTERED (COD_DIS)

--Asignando llaves foraneas

ALTER TABLE DETALLEPROYECTO

ADD FOREIGN KEY (IDE_CLI) REFERENCES CLIENTE

ALTER TABLE DETALLEPROYECTO

ADD FOREIGN KEY (NUM_PRO) REFERENCES PROYECTO

ALTER TABLE DETALLEPROYECTO

ADD FOREIGN KEY (IDE_ENC) REFERENCES ENCARGADO

ALTER TABLE CLIENTE

ADD FOREIGN KEY (COD_DIS) REFERENCES DISTRITO

GO
Laboratorio – Implementación de Query – MS SQL Server

--Creación de la Base de Datos


CREATE DATABASE BDVENTAS
USE BDVENTAS

--Configurando formato de fecha (Día/ Mes / Año)


SET DATEFORMAT DMY

--Creación de la Tabla DISTRITO


CREATE TABLE DISTRITO(
COD_DIS CHAR(5) NOT NULL PRIMARY KEY,
NOM_DIS VARCHAR(50) NOT NULL
)

--Creación de la tabla VENDEDOR


CREATE TABLE VENDEDOR(
COD_VEN CHAR(3) NOT NULL PRIMARY KEY ,
NOM_VEN VARCHAR(20) NOT NULL,
APE_VEN VARCHAR(20) NOT NULL,
SUE_VEN MONEY NOT NULL,
FIN_VEN DATE NOT NULL,
TIP_VEN VARCHAR(10) NOT NULL,
COD_DIS CHAR(5) NOT NULL REFERENCES DISTRITO
)
--Creación de la tabla CLIENTE
CREATE TABLE CLIENTE(
COD_CLI CHAR(5) NOT NULL PRIMARY KEY,
RSO_CLI CHAR(30) NOT NULL,
DIR_CLI VARCHAR(100)NOT NULL,
TLF_CLI CHAR(9) NOT NULL,
RUC_CLI CHAR(11) NULL,
COD_DIS CHAR(5) NOT NULL REFERENCES DISTRITO,
FEC_REG DATE NOT NULL,
TIP_CLI VARCHAR(10) NOT NULL,
CON_CLI VARCHAR(30) NOT NULL
)

--Creación de la tabla FACTURA


CREATE TABLE FACTURA(
NUM_FAC VARCHAR(12) NOT NULL PRIMARY KEY,
FEC_FAC DATE NOT NULL,
COD_CLI CHAR(5) NOT NULL REFERENCES CLIENTE,
FEC_CAN DATE NOT NULL,
EST_FAC VARCHAR(10) NOT NULL,
COD_VEN CHAR(3) NOT NULL REFERENCES VENDEDOR,
POR_IGV DECIMAL NOT NULL
)

_____________________________________________________________________________

--Eliminar todos los registros de la tabla productos

DELETE PRODUCTO

GO

--Eliminar todos los registros de la tabla productos cuyo stock actual sea inferior a 50

DELETE PRODUCTO

WHERE SAC_PRO<50

GO

___________________________________________________________________________

--Realizando la inserción de forma basica

INSERT INTO PRODUCTO VALUES('P001','PAPEL BOND A-4',35.0, 200,1500,'MLL','2','V')

INSERT INTO PRODUCTO VALUES('P002','PAPEL BOND OFICIO ',35, 50,1500,'MLL','2','F')

--Realizando la inserción con especificación de campos

INSERT INTO PRODUCTO (COD_PRO,DES_PRO,PRE_PRO,SAC_PRO,SMI_PRO,UNI_PRO,LIN_PRO,IMP_PRO)


VALUES('P003','PAPEL BULKY ',10 ,498,1000,'MLL','2','V')

INSERT INTO PRODUCTO (COD_PRO,DES_PRO,PRE_PRO,SAC_PRO,SMI_PRO,UNI_PRO,LIN_PRO,IMP_PRO)

VALUES('P004','PAPEL PERIODICO',9,4285,1000,'MLL','2','F')

--Realizando la inserción multiple

INSERT INTO PRODUCTO VALUES

('P005','CARTUCHO TINTA NEGRA', 40 ,50,30,'UNI','1','F'),

('P006','CARTUCHO TINTA COLOR ',45 ,58,35, 'UNI','1','F')

INSERT INTO PRODUCTO (COD_PRO,DES_PRO,PRE_PRO,SAC_PRO,SMI_PRO,UNI_PRO,LIN_PRO,IMP_PRO) VALUES

('P007','PORTA DISKETTES',3.5,300,100,'UNI','1','V'),

('P008','CAJA DE DISKETTES * 10 ',30,125,180,'UNI','1','F')

--Realizando la inserción desde una table externa

CREATE TABLE BK_PRODUCTO(

COD_PRO CHAR(5) NOT NULL PRIMARY KEY,

DES_PRO VARCHAR(50)NOT NULL,

PRE_PRO MONEY NOT NULL,

SAC_PRO INT NOT NULL,

SMI_PRO INT NOT NULL,

UNI_PRO VARCHAR(30)NOT NULL,

LIN_PRO VARCHAR(30) NOT NULL,

IMP_PRO VARCHAR(10) NOT NULL

GO

--Realizar la insercion

INSERT INTO BK_PRODUCTO

SELECT * FROM PRODUCTO

GO

--Comprobar

SELECT * FROM BK_PRODUCTO

GO
--Realizando la inserción con uso de variables

DECLARE @COD CHAR(4),@DES VARCHAR(40),@PRE MONEY,@SAC INT,@SMI INT,@UNI VARCHAR(30),@LIN


INT,@IMP CHAR(1)

SET @COD='P010'

SET @DES='BORRADOR BLANCO'

SET @PRE=8

SET @SAC=2000

SET @SMI=400

SET @UNI='DOC'

SET @LIN='3'

SET @IMP='F'

INSERT INTO PRODUCTO VALUES(@COD,@DES,@PRE,@SAC,@SMI,@UNI,@LIN,@IMP)

GO
ANEXO

También podría gustarte