Base de Datos creacion
Enviado por monto2435 • 4 de Diciembre de 2017 • 887 Palabras (4 Páginas) • 439 Visitas
...
La sentencia para cambiar el valor de una o más columnas en una tabla es UPDATE: UPDATE tbl_name SET coLname1=expr1 [, col_name2=expr2 ... ] [WHERE where_condition];
UPDATE empleados SET sal = sal * 1.2;
La empresa le interesara sólo aumentarle el sueldo a los que ganan entre 1000 y 1200, la sintaxis sería la siguiente: UPDATE empleados SET sal = sal * 1.2 WHERE sal BETWEEN 1000 AND 1200;
Borrar un fila: DELETE emp1 WHERE sal> 5000;
Transacción: UPDATE cust_accountsSET balance = balance - 1500 WHERE account_no = ’70-490930.1’ COMMIT UPDATE cust_accounts SET balance = balance + 1500 WHERE account_no =’70-909249.1’; COMMIT
Borra un registro y se guardan los cambios: DELETE FROM t_pedidos WHERE cod_pedido = 15; COMMIT;
ROLLBACK es la sentencia que permite deshacer la última transacción. ROLLBACK;
Consulta JOIN: SELECT * FROM curso, departamento WHERE cdept = dept;
JOIN selección de filas: SELECT ciudad, name, título FROM oficinas, repventas WHERE dir = num_emp1 AND objetivo
Combinan los registros de dos tablas siempre que tengan valores coincidentes en un campo común a ambas tablas puede utilizar INNER JOIN: SELECT name, titulo, objetivo, oficina, ciudad FROM repventas INNER JOIN oficinas ON oficina_rep = oficina;
LEFT JOIN para crear una combinación (JOIN) externa izquierda: SELECT name, titulo, objetivo, oficina, ciudad FROM repventas LEFT JOIN oficinas ON oficina_rep = oficina;
SELECT con, cnombre, cdept, ctarifa FROM curso
WHERE ctarifa = (SELECT MAX(ctarifa) FROM curso WHERE ctarifa 500); -SELECT enombre, esueldo FROM personal WHERE esueldo
ON DELETE CASCADE, que significa que si se elimina un cliente de la tabla Clientes, también se eliminarán todas las filas de la tabla Pedidos que contienen el mismo valor para el identificador de cliente: CREATE TABLE Pedidos (IdPedido INTEGER PRIMARY KEY, IdCliente INTEGER, NotasPedido VARCHAR2 (25), CONSTRAINT ClaveExtPedidosIdCliente FOREIGN KEY (IdCliente) REFERENCES Clientes ON DELETE SET NULL
* CREATE TABLE empleados (nro_empleados NUMBER(10) NOT NULL, sueldo NUMBER(10,3));
DESCRIBE empleados;
BEGING
INSERT INTO empleados VALUES (100, 10000);
INSERT INTO empleados VALUES (150, 15000);
INSERT INTO empleados VALUES (200, 17000);
INSERT INTO empleados VALUES (250, 13000);
INSERT INTO empleados VALUES (300, 15000);
END;
SELECT * FROM empleados;
DECLARE
mayor_porc_aumento constant number (10,5) := 1.2;
medio_porc_aumento constant number (10,5) := 1.1;
menor_porc_aumento constant number (10,5) := 1.05;
TYPE t_emp IS RECORD (
t_sueldo empleado.sueldo%TYPE,
t_nro_emp empleado.nroempleado%TYPE);
r_empleado t_emp;
CURSOR c_empleado IS
SELECT nroempleado, sueldo
FROM empleados;
BEGIN
OPEN c_empleado;
LOOP
FETCH c_empleado INTO r_empleado;
EXIT WHEN c_empleado%NOTFOUND;
IF r_empleado. t_nro_emp = 100
OR r_empleado. t_nro_emp = 250 THEN
UPDATE empleados
SET sueldo = r_empleado.t_sueldo*mayor_porc_aumento
WHERE nroempleado = r_empleado.t_nro_emp;
ELSE
UPDATE empleados
...