Wednesday, November 24, 2021
Wednesday, August 18, 2021
dynamic interactive report in oracle apex
1. Create 3 items --> P1_SQL, P1_COLCOUNT and P1_HEADER
2. Create a region --> PL/SQL Dyanamic Content
declare
l_query varchar2(32767) := nvl(:P1_SQL,'select empno,ename from emp');
l_theCursor integer default dbms_sql.open_cursor;
l_columnValue varchar2(4000);
l_descTbl dbms_sql.desc_tab;
l_colCnt number;
l_sql varchar2(4000) := 'select /*smartcheck*/ ';
l_sep varchar2(1);
v_sql VARCHAR2 (32000) := NULL;
v_dates VARCHAR2 (10000) := NULL;
BEGIN
IF APEX_COLLECTION.COLLECTION_EXISTS ( p_collection_name => 'EMP_SQL') THEN
APEX_COLLECTION.DELETE_COLLECTION( p_collection_name => 'EMP_SQL');
end if;
APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY (
p_collection_name => 'EMP_SQL',
p_query => l_query);
dbms_sql.close_cursor(l_theCursor);
l_theCursor := dbms_sql.open_cursor;
dbms_sql.parse( l_theCursor, l_query, dbms_sql.native );
dbms_sql.describe_columns( l_theCursor, l_colCnt, l_descTbl );
:P1_COLCOUNT := l_colcnt;
for i in 1 .. least(l_colCnt,2)
loop
apex_util.set_session_state( p_name => 'P1_HEADER'||lpad(i,2,0)
, p_value => l_descTbl(i).col_name
);
end loop;
end;
3. Create Interactive Report
select
c001 ,c002
from apex_collections
where collection_name = 'EMP_SQL';
Tuesday, July 6, 2021
JSON Parsing
v_response CLOB := NULL;
v_status VARCHAR2 (2000);
v_message VARCHAR2 (2000);
BEGIN
v_response :='{"status":"NOK","message":"ZOOM: Meeting 99711037631 is not found or has expired."}';
apex_json.parse (p_source => v_response);
v_status := apex_json.get_varchar2('status');
v_message := apex_json.get_varchar2('message');
dbms_output.put_line('v_status='||v_status);
dbms_output.put_line('v_message='||v_message);
END;
v_status=NOK v_message=ZOOM: Meeting 99711037631 is not found or has expired. Statement processed.
0.01 seconds
Tuesday, March 30, 2021
Connect to OCI via GIT Bash Tunneling
ServerAliveInterval 240
ServerAliveCountMax 20
StrictHostKeyChecking=no
ForwardAgent yes
Host P1
Hostname 123.123.123.123
LocalForward localhost:9021 abc000021801.a1-prodapp-ash1-a-i-vcn2.abc.com:1521
KexAlgorithms +diffie-hellman-group14-sha1
Host P2
Hostname 123.123.123.123
LocalForward localhost:9022 abc000021802.a1-prodapp-ash1-a-i-vcn2.abc.com:1521
KexAlgorithms +diffie-hellman-group14-sha1
Host S1
Hostname 123.123.123.123
LocalForward localhost:9023 abc000021841.a1-prodapp-phx1-a-i-vcn2.abc.com:1521
KexAlgorithms +diffie-hellman-group14-sha1
Host S2
Hostname 123.123.123.123
LocalForward localhost:9024 abc000021842.a1-prodapp-phx1-a-i-vcn2.abc.com:1521
KexAlgorithms +diffie-hellman-group14-sha1
Host D1
Hostname 123.123.123.123
LocalForward localhost:9025 abc00003324.a1-prodapp-phx1-a-i-vcn2.abc.com:1521
KexAlgorithms +diffie-hellman-group14-sha1
Tuesday, March 16, 2021
Pivot
INSERT INTO TESTING VALUES('abc123','kjsdb-jj',20,3);
INSERT INTO TESTING VALUES('abc123','jskj-5g',30,6);
COMMIT;
INSERT INTO TESTING VALUES('abc345','njn-jn1',10,9);
INSERT INTO TESTING VALUES('abc345','kjsdb-jj1',20,3);
INSERT INTO TESTING VALUES('abc345','jskj-5g1',30,6);
COMMIT;
WITH SET_RN AS
(SELECT ID,SES,AMOUNT,CNT,ROW_NUMBER() OVER(PARTITION BY ID ORDER BY ROWID ASC) RN FROM TESTING)
SELECT S.ID,
(SELECT S1.SES FROM SET_RN S1 WHERE S1.ID=S.ID AND S1.RN=1) AS SES1 ,
(SELECT S1.AMOUNT FROM SET_RN S1 WHERE S1.ID=S.ID AND S1.RN=1) AS AMOUNT1,
(SELECT S1.CNT FROM SET_RN S1 WHERE S1.ID=S.ID AND S1.RN=1) AS CNT1,
(SELECT S2.SES FROM SET_RN S2 WHERE S2.ID=S.ID AND S2.RN=2) AS SES2 ,
(SELECT S2.AMOUNT FROM SET_RN S2 WHERE S2.ID=S.ID AND S2.RN=2) AS AMOUNT2,
(SELECT S2.CNT FROM SET_RN S2 WHERE S2.ID=S.ID AND S2.RN=2) AS CNT3,
(SELECT S3.SES FROM SET_RN S3 WHERE S3.ID=S.ID AND S3.RN=3) AS SES3 ,
(SELECT S3.AMOUNT FROM SET_RN S3 WHERE S3.ID=S.ID AND S3.RN=3) AS AMOUNT3,
(SELECT S3.CNT FROM SET_RN S3 WHERE S3.ID=S.ID AND S3.RN=3) AS CNT3
FROM SET_RN S GROUP BY ID;
Tuesday, March 9, 2021
SQL query to view structure of the table in Oracle
SELECT A.OWNER,
A.TABLE_NAME,
C.COLUMN_NAME,
C.DATA_TYPE,
C.DATA_LENGTH,
C.DATA_PRECISION,
C.DATA_SCALE,
C.COLUMN_ID
FROM ALL_TABLES A, ALL_TAB_COLUMNS C
WHERE A.TABLE_NAME = C.TABLE_NAME
AND A.OWNER = 'SCOTT'
AND C.OWNER = 'SCOTT'
AND A.TABLE_NAME = 'EMP'
ORDER BY A.TABLE_NAME, C.COLUMN_ID;
Saturday, February 13, 2021
Bar and Pie chart in Oracle APEX
CREATE TABLE PRODUCT (ID NUMBER, NAME VARCHAR2(100));
ALTER TABLE PRODUCT ADD CONSTRAINT PRODUCT_PK PRIMARY KEY(ID);
INSERT INTO PRODUCT VALUES(1, 'Iphone');
INSERT INTO PRODUCT VALUES(2, 'Samsung');
INSERT INTO PRODUCT VALUES(3, 'Xiami');
INSERT INTO PRODUCT VALUES(4, 'Lenovo');
INSERT INTO PRODUCT VALUES(5, 'Oppo');
INSERT INTO PRODUCT VALUES(6, 'OnePlus');
INSERT INTO PRODUCT VALUES(7, 'Nokia');
COMMIT;
CREATE TABLE ORDERS (ID NUMBER, PRODUCT_ID NUMBER, QUANTITY NUMBER, ORDER_DATE DATE);
ALTER TABLE ORDERS ADD CONSTRAINT ORDERS_PK PRIMARY KEY(ID);
ALTER TABLE ORDERS ADD CONSTRAINT ORDERS_FK FOREIGN KEY(PRODUCT_ID) REFERENCES PRODUCT(ID);
INSERT INTO ORDERS VALUES (1,1,20,SYSDATE);
INSERT INTO ORDERS VALUES (2,3,10,'02/13/1992');
INSERT INTO ORDERS VALUES (3,1,40,'03/19/2010');
INSERT INTO ORDERS VALUES (4,1,10,'12/10/1998');
INSERT INTO ORDERS VALUES (5,4,10,'09/18/1992');
INSERT INTO ORDERS VALUES (6,3,50,'02/13/2020');
INSERT INTO ORDERS VALUES (7,1,10,'03/15/1992');
INSERT INTO ORDERS VALUES (8,2,30,'07/19/1992');
INSERT INTO ORDERS VALUES (9,7,10,'02/22/1992');
INSERT INTO ORDERS VALUES (10,7,80,'09/28/2017');
INSERT INTO ORDERS VALUES (11,2,10,'21/28/2019');
COMMIT;
PIE Chart SQL:
Application --> Create Page --> Chart --> Pie --> Page Name as Charts (anything) --> SQL Query --> Select LABEL and VALUE --> Create
SELECT P.NAME AS LABEL, COUNT(*) AS VALUE FROM PRODUCT P, ORDERS O WHERE P.ID = O.PRODUCT_ID GROUP BY P.NAME;
BAR Chart SQL:
Application --> Create Page --> Chart --> Bar --> Page Name as Charts (anything) --> Soucre: Localdatabase ,Type: SQL Query --> Select LABEL and VALUE --> Create
SELECT P.NAME AS LABEL, COUNT(*) AS VALUE FROM PRODUCT P, ORDERS O WHERE P.ID = O.PRODUCT_ID GROUP BY P.NAME;
Example: https://apex.oracle.com/pls/apex/royal/r/testing40/charts?session=112166733385562
Delete Row Button to all records of Interactive Report in Oracle Apex
1. add 'Delete' Del column to Report Query 2. Set the Following Properties for the DEL Column Type: Link Heading: Delete Targ...
-
[oracle@ODIGettingStarted ~]$ sqlplus sys as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Sun Apr 7 01:20:15 2019 Copyright (c) 1...
-
Oracle 11g: SQL> set serveroutput on; SQL> DECLARE 2 s varchar2(32767) := '{ "a": 1, "b": ["h...
-
add below script in js path: Interactive Grid (Region Type) --> Attributes --> JavaScript Initialization Code function(config) ...