Ha llegado el momento tan esperado, Oracle APEX 26.1 disponible para la descarga.
Les comparto capturas de pantalla de la nueva interface.
Las nuevas funciones están de lujo.
Saludos.
Blog dedicado a la implementación de bases de datos en Oracle Database Free/Express Edition y productos Oracle relacionados.
Ha llegado el momento tan esperado, Oracle APEX 26.1 disponible para la descarga.
Les comparto capturas de pantalla de la nueva interface.
Las nuevas funciones están de lujo.
Saludos.
En muchas ocasiones es preciso limitar el número de registros retornados por una sentencia SELECT, en estos casos, tradicionalmente en Oracle se emplea la función ROWNUM en la cláusula WHERE para lograr este objetivo, sin embargo, desde Oracle Database 12c, se da soporte a la cláusula FETCH ROWS ONLY que hace más elegante este proceso.
La siguiente sentencia SELECT recupera los 5 primeros registros de la tabla EMPLOYEES del esquema HR usando la función ROWNUM.
SELECT
EMPLOYEE_ID,LAST_NAME,FIRST_NAME
FROM employees
WHERE ROWNUM<=5;
Ahora, se obtendrá el mismo resultado empleando la cláusula FETCH ROWS ONLY:
SELECT EMPLOYEE_ID,LAST_NAME,FIRST_NAME
FROM employees
FETCH FIRST 5 ROWS ONLY;
Desde APEX 22.2 está disponible el tipo de proceso INVOKE API que consiste en llamar de forma declarativa al procedimiento, función o paquete a ejecutar como parte del procesamiento de una página web de la aplicación.
Para ejemplificar el uso del proceso Llamar a API se ha creado una aplicación de nombre Gestor de Proyectos, basada en la tabla PROYECTO con la siguiente estructura:
CREATE TABLE "PROYECTO"
(
"PROYECTO_ID" NUMBER(6,0)
GENERATED BY DEFAULT ON NULL PRIMARY KEY,
"NOMBRE_PROYECTO"
VARCHAR2(120) NOT NULL ENABLE,
"MONTO_PROYECTO"
NUMBER(7,3) NOT NULL ENABLE,
"FECHA_INICIO" DATE DEFAULT
TO_DATE(SYSDATE),
"ESTADO_PROYECTO" VARCHAR2(30)
);
El procedimiento de nombre establecer_estado_proyecto_por_monto contiene el siguiente código:
create or replace procedure establecer_estado_proyecto_por_monto(
p_proyecto_id number,
p_monto_proyecto number)
as
var_estado_proyecto varchar2(30);
begin
if p_monto_proyecto>10000 then
var_estado_proyecto:='ANALISIS';
end if;
update proyecto
set estado_proyecto=var_estado_proyecto
where proyecto_id=p_proyecto_id;
commit;
end;
/
Agregar a la aplicación una página de tipo Informe Interactivo de nombre Proyectos basada en la tabla Proyecto, deberá incluir una pantalla de edición(formulario o pantalla).
Las instrucciones a seguir para la aplicación de este tipo de proceso se detalla a continuación:
1) Abra la página de tipo pantalla de nombre Proyecto, esta es la pantalla de edición creada con el informe interactivo.
2) Seleccionar la región de Procesos y con el botón derecho del mouse hacer clic sobre procesos y elegir la opción Crear Proceso del menú contextual.
3) En el panel de propiedades del proceso, llenar el cuadro de propiedades con los datos de la siguiente imagen:Continuando con las nuevas características de Oracle 23ai Free Edition, se presentarán en este artículo la creación de tablas y los dominios.
1) Creación y borrado de tablas
CREATE TABLE IF NOT EXISTS PROYECTO(
PROYECTO_ID number(6,0),
NOMBRE_PROYECTO varchar2(120) NOT NULL,
MONTO_PROYECTO NUMBER(7,3) NOT NULL,
FECHA_INICIO DATE DEFAULT TO_DATE(SYSDATE)
);Table PROYECTO created.
Para borrar tablas, se puede agregar la cláusula IF EXISTS a la sentencia DROP TABLE.
Table PROYECTO deleted.
2) Dominios
En el siguiente código, se define un dominio de nombre monto_proyecto_domain que contiene los siguientes elementos:
CREATE DOMAIN monto_proyecto_domain AS NUMBER
CONSTRAINT montoproy_min_chk CHECK (VALUE > 0)
DISPLAY TO_CHAR(VALUE, '$999,999.99')
ANNOTATIONS (ui_label 'Monto del Proyecto');
Posteriormente, se redefine el campo MONTO_PROYECTO de tipo monto_proyecto_domain.
ALTER TABLE PROYECTO MODIFY (
MONTO_PROYECTO DOMAIN monto_proyecto_domain
);
Uno de los requerimientos más frecuentes de los clientes que visualizan los datos en Cuadrículas Interactivas(Interactive Grid) de Oracle APEX, consiste en copiar y pegar filas desde Excel; ahora, el problema es que este tipo de región en APEX no soporta esta función de manera nativa(incluyendo la versión 24.2) y para implementarla se requiere codificar en JavaScript.
En el siguiente video, se demuestra que copiar y pegar desde Excel a una IG es posible, aclarando que esta operación se restringe al número de columna de la tabla en la que se basa la Cuadrícula Interactiva.
Roberto Párraga Zambrano
Oracle Database 18c XE ya está disponible para Windows 64bit, en este post se enseñará como instalar y configurar esta nueva versión en W...