viernes, 30 de diciembre de 2022

Crear Usuario ORACLE DATABASE

Crear Usuario ORACLE DATABASE
================================

Ejecutar cmd SQL Plus

Introduzca usuario: CONN /AS SYSDBA
Introduzca contraseña:

$> ALTER SESSION SET "_ORACLE_SCRIPT"=TRUE;
$> CREATE USER usuario IDENTIFIED BY secret;
$> GRANT DBA TO usuario;

-------------------------------------------------------------------------------
--LISTAR TODOS LOS USUARIOS/ESQUEMAS  DENTRO DE LA BASE DE DATOS EN LA CUAL ESTOY CONECTADO
SELECT * FROM DBA_USERS

--CAMBIAR LA FECHA DE EXPIRACIÓN DE LA CONTRASEÑA
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED

--CAMBIAR LA CONTRASEÑA DE UN USUARIO/ESQUEMA
ALTER USER SYSTEM IDENTIFIED BY 1234


Crear  Tabla en ORACLE DATABASE
==================================

CREATE TABLE post(
    id NUMBER(10) PRIMARY KEY NOT NULL,
    title VARCHAR2(50) NOT NULL UNIQUE,
    description VARCHAR2(150) NOT NULL,
    content VARCHAR2(255) NOT NULL,
    status CHAR(1) DEFAULT '1' NOT NULL
);
CREATE SEQUENCE seq_post START WITH 1;

INSERT INTO post(id,title,description,content) VALUES(seq_post.nextval,'My New first Post','First Post description','This is my new first post');

INSERT INTO post(id,title,description,content) VALUES(seq_post.nextval,'My Second Post','Second Post description','This is my new second post');

UPDATE post 
set description='FOURTH POST DESCRIPTION' 
WHERE id=2;


viernes, 23 de diciembre de 2022

Programacion Funcional JAVA

 Programación Funcional JAVA

1.  List<Integer> numeros = List.of(11, 21, 38, 43, 54, 66, 7, 8, 19, 10);

     a) Obtener la cantidad de números pares.
     b) Obtener todos los números pares.
     c) Ordenar la lista de números en orden ascendente.
     d) Ordenar la lista de números en orden descendente.
     e) Ordenar solo los números pares en orden descendente.

Solución:

a)
     long result = numeros.stream()                                 
                                      .filter(n -> n % 2 == 0)
                                      .count();
     System.out.println(result);

b)
     List<Integer> listNumeros =  numeros.stream()                                 
                                                         .filter(n -> n%2 == 0)
                                                         .collect(Collectors.toList());
     listNumeros.forEach(System.out::println);   
                   
c)
     List<Integer> listOrderAsc =  numeros.stream() 
                                                         .sorted()                                   
                                                         .collect(Collectors.toList());
     listOrderAsc.forEach(System.out::println);

d)
     List<Integer> listOrderDesc =  numeros.stream() 
                                                         .sorted(Collections.reverseOrder())                                   
                                                         .collect(Collectors.toList());
     listOrderDesc.forEach(System.out::println);    

e)
     List<Integer> listOrderParDesc =  numeros.stream() 
                                                         .filter(n -> n % 2 == 0)
                                                         .sorted(Collections.reverseOrder())                                   
                                                         .collect(Collectors.toList());
     listOrderParDesc.forEach(System.out::println);  

2. Se tiene la siguiente lista de objetos. Crear la clase User con sus atributos name, edad y sus metodos get y set.

  List<User> users = new ArrayList<>();
    users.add(new User("Rafael", 25));
    users.add(new User("Daniel", 20));
    users.add(new User("Tania", 15));
    users.add(new User("Luisa", 24));
    users.add(new User("Miguel", 16));
    users.add(new User("Raul", 17));

a) Obtener la cantidad de usuarios con una edad mayor o igual a 18 y que su nombre empiecen con la letra "R".
b) Obtener solo el nombre de todas las personas mayores a 18
c) Ordenar la lista de objetos por el nombre en orden ascedente y mostrar solo el nombre.
d) Ordenar la lista de objetos por el nombre en orden descendente.
e) ghg
f) ghg
g) hg
h) gh

Solución:

a)
long cantidad = users.stream()
            .filter(user -> user.getAge() >= 18 && user.getName().toUpperCase().startsWith("R"))
            .count();
    System.out.println(cantidad);

b)
List<String> listMayor = users.stream()
            .filter(user -> user.getAge() >= 18)
            .map(User::getName)       // (u->u.getName())   //u es un objeto de la Clase User
            .collect(Collectors.toList());
    listMayor.forEach(System.out::println);

c)
List<String> byNameAsc = users.stream()
            .sorted((User a, User b) -> a.getName().compareTo(b.getName()))
            .map(User::getName) // (u->u.getName())   //u es un objeto de la Clase User
            .collect(Collectors.toList());

   byNameAsc.forEach(System.out::println);

d)
List<User> listUserOrderDesc = users.stream()
            .sorted((User a, User b) -> b.getName().compareTo(a.getName()))
            .collect(Collectors.toList());

    listUserOrderDesc.forEach(System.out::println);


martes, 6 de diciembre de 2022

Procedimientos Almacenados SQL SERVER

-- Procedimiento Listar
CREATE PROCEDURE sp_getAllCategories
AS
BEGIN
    SELECT id,descripcion,estado
    FROM CATEGORIAS
    ORDER BY id DESC
END
GO

EXEC sp_getAllCategories;

Uso del Case
CREATE PROCEDURE sp_getAllClients
AS
BEGIN
SELECT id,
name,
lastName,
dni,
CASE gender
WHEN 1 THEN 'Masculino'
WHEN 0 THEN 'Femenino'
END AS gender,
phone,
address,
email,
CASE status
WHEN 1 THEN 'Activo'
WHEN 0 THEN 'Inactivo'
END AS status
FROM CLIENT
ORDER BY id DESC
END


-- Procedimiento Buscar
CREATE PROCEDURE sp_searchCategory
@text varchar(50)
AS
BEGIN

    SELECT id,descripcion,estado
    FROM CATEGORIAS
    WHERE nombre LIKE '%' + @text + 
'%' OR descripcion LIKE '%' + @text + '%'
    ORDER BY nombre ASC
END
GO

-- Procedimiento Buscar por nombre
CREATE PROCEDURE sp_findCategoryByName
@nombre varchar(30)
AS
BEGIN

    SELECT id,descripcion,estado
    FROM CATEGORIAS
    WHERE estado=1 and UPPER(TRIM(descripcion)) LIKE '%' + UPPER(TRIM(@nombre)) +'%'
END
GO

exec uspFiltrarCategoriaPorNombre 'A'

-- Procedimiento Insertar
CREATE PROCEDURE sp_insertCategory
@nombre varchar(50),
@descripcion varchar(150)
AS
BEGIN
INSERT INTO CATEGORIAS(nombre,descripcion)
        VALUES(@nombre,@descripcion)
END
GO

EXEC sp_insertCategory @nombre='Este es otro nombre',
                                             @descripcion='Este es otra descripcion'

-- Procedimiento Actualizar
CREATE PROCEDURE sp_updateCategory
@id INT,
@descripcion varchar(30)
AS
BEGIN
UPDATE CATEGORIAS 
SET descripcion=@descripcion
WHERE id=@id
END
GO

EXEC sp_updateCategory @id=2,
                                               @descripcion='descripcion actualizada';

-- Procedimiento Eliminar
CREATE PROCEDURE sp_deleteCategory
@id int
AS 
BEGIN
     DELETE CATEGORIAS
     WHERE id=@id
END
GO

-- Procedimiento Desactivar
CREATE PROCEDURE sp_disableCategory
@id int
AS 
BEGIN
     UPDATE CATEGORIA SET status=0
     WHERE id=@id
END
GO

-- Procedimiento Activar
CREATE PROCEDURE sp_enableCategory
@id int
AS 
BEGIN
     UPDATE CATEGORIA SET status=1
     WHERE id=@id
END
GO

Instalar Powershell 7

Instalar Powershell Version 7 -------------------------------------- $> winget search powershell $> winget install Microsoft.Powershe...