--- devuelva los totales de registros (total de registros en la tabla)
SELECT COUNT(*) FROM empleados;
select count(*) from departamentos;
--- sumar salario por cargos
select sum(salario) from empleados;
select sum(salario) as Salario, cargo from empleados
group by cargo;
select (SALARIO + COMISION) FROM empleados;
--- ordenar de mayor a menor
order by salario; --- menor a mayor
order by salario desc; --- mayor a menor
--- listar los cargos
select distinct cargo from empleados; --- "distinct" permite eliminar los
duplicados de un campo
--- seleccionar empleados con email de yahoo
select identificacion, pri_nombre, pri_apellido, email
from empleados where email like '%yahoo%';
--- seleccionar los empleados por departamento de ventas
select identificacion, pri_nombre, pri_apellido, nombre
from empleados
inner join departamentos
on cod_departamento = codigo
where nombre = 'VENTAS';
select * from empleados where pri_nombre like '%o%';
2/10/2019
retornar un numero; (formas de declarar)
CREATE OR REPLACE FUNCTION ejemplo() RETURNS integer AS $$
BEGIN
RETURN 104;
END;
$$ LANGUAGE plpgsql;
SELECT ejemplo();
CREATE OR REPLACE FUNCTION ejemplo(integer) RETURNS integer AS $$
BEGIN
RETURN 1;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION ejemplo(numero integer) RETURNS integer AS $$
BEGIN
RETURN numero;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION ejemplo(integer) RETURNS integer AS $$
DECLARE
numero ALIAS FOR $1
BEGIN
RETURN numero;
END;
$$ LANGUAGE plpgsql;
SELECT ejemplo(21019);
CREATE OR REPLACE FUNCTION ejemplo1(integer, integer) RETURNS integer AS $$
DECLARE
numero1 ALIAS FOR $1;
numero2 ALIAS FOR $2;
constante CONSTANT integer :=100;
resultado integer;
BEGIN
resultado := (numero1 * numero2) + constante;
RETURN resultado;
END;
$$ LANGUAGE plpgsql;
---
------------------------------------------
------ insertar usuarios--------
CREATE OR REPLACE FUNCTION insertar_usuarios (integer, varchar(20), varchar(50),
varchar(50), varchar(20), char(1))
RETURNS void AS
$BODY$
BEGIN
INSERT INTO usuarios(codpais, nombres, apellidos, email, clave, estado)
values ($1, $2, $3, $4, $5, $6);
END;
$BODY$ LANGUAGE plpgsql;
SELECT insertar_usuarios(1, 'martin', 'dino', 'martin@[Link]', '123', 'a' );
----------------------------------
---------actualizar---------------
CREATE OR REPLACE FUNCTION updated_usuarios(INT, INT, VARCHAR(20), VARCHAR(50),
VARCHAR(50), VARCHAR(1), CHAR(1))
RETURNS BOOL AS
$BODY$
DECLARE
codigo ALIAS FOR $1;
registro usuarios%ROWTYPE;
BEGIN
SELECT * INTO registro FROM usuarios WHERE codusuario=codigo;
IF FOUND THEN
UPDATE usuarios SET
codpais = $2, nombres = $3, apellidos = $4, email = $5,
clave = $6, estado = $7 WHERE codusuario = codigo;
RETURN TRUE;
END IF;
RETURN FALSE;
END;
$BODY$ LANGUAGE 'plpgsql';
SELECT update_usuarios(3, '3', 'armando', 'casas', 'armando@[Link]', '12345',
'i' );