i have 1st table MIT_DOCUMENTS_LIST_MASTER with columns and data
ID DOCUMENTS_LIST
1 Passport Copy
2 Visa Application Form
3 Company Cover Letter
4 Invitation Letter
second table VISA_ON_ARRIVAL_COUNTRIES columns and data
id COUNTRY_ID COUNTRY_NAME VISA_REQUIRED VISA_ON_ARRIVAL_COUNTRIES DOCUMENTS_LIST CREATED_ON LAST_MODIFIED
1 45 Germany Y N 1:2:3:5:4:6:7:9 01/15/2026 01/15/2026
third table only columns columns
CREATE TABLE VISA_DOCUMENTS_UPLOADS (
ID NUMBER GENERATED BY DEFAULT AS IDENTITY,
COUNTRY_ID NUMBER,
DOCUMENT_ID NUMBER,
FILENAME VARCHAR2(4000 BYTE),
FILE_MIMETYPE VARCHAR2(512 BYTE),
FILE_BLOB BLOB,
FILE_CHARSET VARCHAR2(512 BYTE),
SAMPLE_DOCUMENT BLOB,
FORM_TEMPLATE BLOB,
UPLOADED_DOCUMENT BLOB,
PREVIEW_DOCUMENT VARCHAR2(4000),
FILE_COMMENTS VARCHAR2(4000 BYTE),
CREATED TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP,
CREATED_BY VARCHAR2(255 BYTE),
UPDATED TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP,
UPDATED_BY VARCHAR2(255 BYTE),
CONSTRAINT pk_visa_documents_uploads PRIMARY KEY (ID)
);
now i have to create one report whn i select country that country documents list will be shown in the report like this
Docid Document Name SampleDocuments FormTemplates Upload Documents Preview Uploaded Documents Mimetype File Size
1 Passport Copy Download Download chose_file Preview
2 Visa Application Form Downloa Download chose_file Preview
you see the above report format where upload documemnts i need to upload document for each document and store in the database of table VISA_DOCUMENTS_UPLOADS and i have one button save when i click on that button then it should store in the database
thisis the report query
SELECT
d.ID AS DOCUMENT_ID,
d.DOCUMENTS_LIST AS DOCUMENT_NAME,
MAX(CASE WHEN vu.SAMPLE_DOCUMENT IS NOT NULL THEN
'<a href="download_sample?p_id=' || vu.ID || '" target="blank">Download</a>'
ELSE 'Sample not Available' END) AS SAMPLE_DOCUMENTS,
MAX(CASE WHEN vu.FORM_TEMPLATE IS NOT NULL THEN
'<a href="download_template?p_id=' || vu.ID || '" target="blank">Download</a>'
ELSE 'Template not Available' END) AS FORM_TEMPLATES,
'<input type="file" ' AS UPLOAD_FILLED_FORM_BUTTON,
MAX(CASE WHEN vu.PREVIEW_DOCUMENT IS NOT NULL THEN
'<a href="' || vu.PREVIEW_DOCUMENT || '" target="_blank" id="preview_document_' || vu.ID || '">Preview</a>'
ELSE 'No Preview Available' END) AS PREVIEW_UPLOADED_DOCUMENTS,
MAX(vu.FILE_MIMETYPE) AS Mimetype,
MAX(sys.dbms_lob.getlength(vu.file_blob)) AS file_size
FROM
VISA_ON_ARRIVAL_COUNTRIES v
JOIN
MIT_DOCUMENTS_LIST_MASTER d
ON INSTR(':' || v.DOCUMENTS_LIST || ':', ':' || d.ID || ':') > 0
LEFT JOIN
VISA_DOCUMENTS_UPLOADS vu
ON v.COUNTRY_ID = vu.COUNTRY_ID AND d.ID = vu.DOCUMENT_ID
WHERE
v.COUNTRY_ID = :P124_CITIZENSHIP_COUNTRY
GROUP BY
d.ID, d.DOCUMENTS_LIST
ORDER BY
d.ID;
i want process to insert each document kindly help me even modify the report query i need the scenerio should work propoplry
Sorry, I'm a bit lost on what you are trying to achieve here. It looks to me like you already have the query you need to list the documents required.
SQL>
SQL> create table MIT_DOCUMENTS_LIST_MASTER (
2 id int,
3 documents_list varchar2(30));
Table created.
SQL>
SQL> insert into MIT_DOCUMENTS_LIST_MASTER values (1, 'Passport Copy');
1 row created.
SQL> insert into MIT_DOCUMENTS_LIST_MASTER values (2, 'Visa Application Form');
1 row created.
SQL> insert into MIT_DOCUMENTS_LIST_MASTER values (3, 'Company Cover Letter');
1 row created.
SQL> insert into MIT_DOCUMENTS_LIST_MASTER values (4, 'Invitation Letter ');
1 row created.
SQL> insert into MIT_DOCUMENTS_LIST_MASTER values (5, 'Invitation Letter ');
1 row created.
SQL> insert into MIT_DOCUMENTS_LIST_MASTER values (6, 'Invitation Letter ');
1 row created.
SQL>
SQL> create table VISA_ON_ARRIVAL_COUNTRIES
2 (id int,
3 ctry varchar2(20),
4 DOCUMENTS_LIST varchar2(20)
5 );
Table created.
SQL>
SQL> insert into VISA_ON_ARRIVAL_COUNTRIES values (1,'Germany','1:2:3');
1 row created.
SQL> insert into VISA_ON_ARRIVAL_COUNTRIES values (2,'Spain','1:2:3:4');
1 row created.
SQL> insert into VISA_ON_ARRIVAL_COUNTRIES values (3,'Mexico','1:2:3:4:5');
1 row created.
SQL>
SQL>
SQL> select *
2 from visa_on_arrival_countries v
3 join mit_documents_list_master d
4 on instr(':' || v.documents_list || ':', ':' || d.id || ':') > 0;
ID CTRY DOCUMENTS_LIST ID DOCUMENTS_LIST
---------- -------------------- -------------------- ---------- ------------------------------
1 Germany 1:2:3 1 Passport Copy
1 Germany 1:2:3 2 Visa Application Form
1 Germany 1:2:3 3 Company Cover Letter
2 Spain 1:2:3:4 1 Passport Copy
2 Spain 1:2:3:4 2 Visa Application Form
2 Spain 1:2:3:4 3 Company Cover Letter
2 Spain 1:2:3:4 4 Invitation Letter
3 Mexico 1:2:3:4:5 1 Passport Copy
3 Mexico 1:2:3:4:5 2 Visa Application Form
3 Mexico 1:2:3:4:5 3 Company Cover Letter
3 Mexico 1:2:3:4:5 4 Invitation Letter
3 Mexico 1:2:3:4:5 5 Invitation Letter
12 rows selected.