Está en la página 1de 2

lizando 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
Para visualizar los registros de la tabla PRODUCTO, se usa la sentencia
SELECT * FROM PRODUCTO.

---------update
Se actualizarán los precios aumentando $2.0 a todos los productos:
UPDATE PRODUCTO
SET PRE_PRO=PRE_PRO+2
GO
También se podría 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 al doble solo si dicho stock
es menor o igual a 50.
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

--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

--Si no usamos la unión de


--tablas, el código de actualización sería de la siguiente manera:
UPDATE PROVEEDOR
SET TEL_PRV='0000000'
WHERE COD_DIS='D13'
GO
--O también se podría optar por la siguiente sentencia:
UPDATE PROVEEDOR
SET TEL_PRV='0000000'
WHERE COD_DIS = (SELECT COD_DIS
FROM DISTRITO
WHERE NOM_DIS='RIMAC')
GO

DECLARE @IMPORTADO CHAR(1)='F'


UPDATE PRODUCTO
SET IMP_PRO=@IMPORTADO
WHERE UNI_PRO='DOC'
GO

-----------------
Eliminando todos los registros de la tabla PRODUCTO cuyo stock actual sea
inferior a 50
DELETE PRODUCTO
WHERE SAC_PRO<50
GO

---
Con la siguiente sentencia, se aplica el volcado desde el archivo de texto
hacia la tabla PRODUCTO.
BULK INSERT PRODUCTO
FROM 'C:\PRODUCTOS.TXT'
WITH(
FIELDTERMINATOR=',',
ROWTERMINATOR='\n',
FIRSTROW=1
)
GO
También se podría usar la siguiente sentencia:
BULK INSERT PRODUCTO
FROM 'C:\PRODUCTOS.TXT'
WITH(
FIELDTERMINATOR=',',
ROWTERMINATOR='\n'
)
GO

También podría gustarte