Export a dynamic query to excel
HelloI want to export the result to a dynamic query to Excel button.
I have a model of search where users want to export the query results by clicking a button in an excel file.
Is this possible?
Hello Dan,.
Yes, a query as session variable works fine. Thank you very much for the help!
Tags: ColdFusion
Similar Questions
-
dynamic query for package does not work
Dear members,
I have problems with a package in the creation and analysis of a dynamic query in the WHERE clause. Here is an example of what I'm trying to do:
PROCEDURE test_status_proc)
wtd_cursor ON cur_type
date_1 IN date
date_2 IN DATE
status in VARCHAR2,
flag in VARCHAR2)
IS
status_sql VARCHAR2 (250): = NULL;
flag_sql Varchar2 (100): = NULL;
BEGIN
Status of the IF = 'A' THEN
lv_status_sql: = 'A ';
lv_flag_sql: = 'Y ';
END IF;
Status of the 'I' = IF THEN
lv_status_sql: = 'A ';
lv_flag_sql: = 'n';
END IF;
Status of the 'R' = IF THEN
lv_status_sql: = "R";
lv_flag_sql: ='* ';
END IF;
Status of the IF = n THEN
lv_status_sql: = 'n';
lv_flag_sql: ='* ';
END IF;
IF status_code = 'IRN' THEN
"lv_status_sql: = '('' N'','' R'');
lv_status_sql: = lv_status_sql | ' OR (s.status = s.flag = "A" AND "N")';
lv_usecalc_sql: ='* ';
END IF;
Status of the = IF'* ' THEN
lv_status_sql: ='* ';
lv_flag_sql: ='* ';
END IF;
OPEN FOR Test_cursor
SELECT * from test_status s
WHERE
s.Daytime BETWEEN date_1 AND date_2
S.status AND decode (lv_status_sql,'* ', s.status, lv_status_sql)
S.flag AND decode (lv_flag_sql,'* ', s.flag, lv_flag_sql);
The problem I have is especially with the condition 'IRN '. The suite WHERE the part of the clause looks like the following in the lv_status_sql, but the query returns all the values:
-(', 'R') OR (s.status = 'A' AND s.flag =' only)
Any help would be much appreciated.
Kind regardsdreporter wrote:
Thanks for your reply and I completely understand your frustration. The problem is sometimes it is very difficult to describe all of the problem due to several reasons. Please take a look at my last post to see if that makes sense.
If you really need SQL dynamic - true dynamic SQL which includes dealing with dynamic number of bind variables - then DBMS_SQL are an excellent interface to use.
You can generate the dynamic SQL statement based on the question of whether the filter criteria is null (do not use) or not null (use as a predicate). For example
if someParam10 is not null then // someParam10 needs to be used as a filter predicate dynamicSQL := dynamicSQL || ' and some_col_10 = :someParam10 '; end if;
This statement can then be analyzed using the DBMS_SQL interface. The binding of values uses the same logic that was used to create predicates. For example
if someParam10 is not null then // someParam10 is used and needs to be bound DBMS_SQL.Bind( myCursor, 'someParam10', someParam10 ); end if;
So, with this approach simplistic, you can easily create a dynamic SQL with variable predicates, dynamically bind these and run the slider.
Bind variables are used in the dynamic SQL statements, as there are very few threats of SQL injection. And the basic principles observed for shareable SQL creation - the same set of parameters not null to filter, will result in the same SQL statement, which allows the cursor within the Pool shared for this SQL statement to be reused.
So, technically, dynamic SQL is not a major problem (if used correctly). The major problem is that if really necessary to address the requirements of the business at hand.
The problem I have with many comments here want to use dynamic SQL statements, is that it is used as one would use a file i/o interface.
For file IO you want standard Open(), Read(), Write() and Close() calls. And you, the appellant, simply pass the name of the file and the data to write or to receive the data read.
Similarly, these posters want to use SQL to open a table and read and write the data column - and do it by calling simply (and dynamically) by specifying the name of the table and column. Approaches to dynamic SQL based on one such concept is wrong. And shows that much of the ignorance of what a RDBMS is and how to use an RDBMS.
-
I have a page that displays the results of a search query. I want to give users an option to export the results they see in Excel format by clicking on an icon.
How can I do?
I have a UDF that convert the query to Excel and takes the query as an argument. In any case I call after the page rendering?
Any suggestion is welcome.
Thank youWhat you are looking for in this case, some form of Ajax features. There is a pile of resources out there on Ajax that you find with a little research on Google.
You could also accomplish this type of functionality using frames and 1 (or more) images invisible by setting their height 0. You can then direct action to the frame hidden - it keeps the current page visible while the hidden frame generates your excel.
Cheers.
-
Collection of the dynamic query
Hi All-
I'm trying to get the value of the collection through the dynamic query but I am facing some problem please let me know that I hurt.
Created a function like below to run the dynamic query to select statement
create or replace FUNCTION rfunGetColumnValue ( ColumnName VARCHAR2, TableName VARCHAR2, DefaultValue OUT VARCHAR2, Criteria VARCHAR2) RETURN VARCHAR2 IS ReturnValue VARCHAR2 (32767 byte) ; Stmt VARCHAR2 (32767 byte) ; BEGIN stmt := 'begin select '|| ColumnName || ' into :1 from table(:2) ' ||NVL ( Criteria, ' ') || ' Fetch First Row only ; EXCEPTION WHEN OTHERS THEN :2 := SQLERRM; end;' ; dbms_output.put_line (stmt) ; EXECUTE IMMEDIATE stmt USING OUT ReturnValue, OUT DefaultValue; --select Valueinto into Returnvalue from dual; RETURN ReturnValue; END;
Now, I created a folder in the Package
create or replace PACKAGE Collection_PKG is type Bank_rec is RECORD ( SNO NUMBER(10), BANKID NUMBER(5), BANKNAME VARCHAR2(50), BANKSC VARCHAR2(50), ADDEDIT varchar2(1), COMPID number(5), ISBULK number(1), ROWNO number(10), ERROR VARCHAR2(500) ); TYPE Bank_tbl IS TABLE OF Bank_rec; --type Bank_cur is ref cursor return Bank_rec; end Collection_PKG; end Collection_PKG; end Collec tion_PKG;
Now, when I'm Trying the code below
DECLARE V_EXECQUERYPARAM XMLTYPE:= XMLTYPE('<QueryParam> <BankXML> <Bank> <BankID>0</BankID> <BankSC><![CDATA[RCB]]></BankSC> <BankName><![CDATA[Royal challenger Bank]]></BankName> <IsBulk>0</IsBulk> <AddEdit>A</AddEdit> </Bank> </BankXML> </QueryParam>'); BEGIN Rspbanksave( v_SPParamList => V_EXECQUERYPARAM ); END;
create or replace PROCEDURE rspBankSave ( v_SPParamList XMLTYPE DEFAULT NULL) IS V_Addedit VARCHAR2 (1 CHAR) ; Bank_tbl Collection_PKG.BANK_TBL := Collection_PKG.BANK_TBL () ; BEGIN SELECT Row_number () OVER (ORDER BY 1), XT.BankID, XT.BankName, XT.BankSC, XT.AddEdit, v_CompID, XT.IsBulk, CAST (0 AS NUMBER (5)), CASE WHEN MBank.BankID IS NOT NULL THEN CASE WHEN XT.BankSC = MBank.BankSC AND XT.BankName = MBank.BankName THEN 'R104|Entry Already Exist,R114|Short Code Already Exist' WHEN XT.BankSC = MBank.BankSC THEN 'R114|Short Code Already Exist' WHEN XT.BankName = MBank.BankName THEN 'R104|Entry Already Exist' END ELSE NULL END Bulk collect INTO Bank_tbl FROM XMLTABLE ('//QueryParam/BankXML/Bank' PASSING v_SPParamList COLUMNS BankID NUMBER (5) PATH 'BankID', BankName VARCHAR2 ( 50) PATH 'BankName', BankSC VARCHAR2 ( 50) PATH 'BankSC', AddEdit VARCHAR2 ( 1) PATH 'AddEdit', IsBulk NUMBER (1) PATH 'IsBulk') XT LEFT JOIN MBank ON XT.BankID != MBank.BankID AND v_CompID = MBank.CompID AND (XT.BankSC = MBank.BankSC OR XT.BankName = MBank.BankName) ; v_TotalRowCount := SQL%ROWCOUNT; IF (v_TotalRowCount > 0) THEN BEGIN V_Addedit:=rfunGetColumnValue (ColumnName=> 'Upper(AddEdit)',TableName=>'table(Bank_tbl)',DefaultValue=>'',Criteria =>''); END; --SQL Code here END IF; END rspBankSave;
As I've suggested before:
To get the name of the table the column
and as others have:
Type global temporary Tables vs. table
If you give more context, more information about the bigger picture, more information about what you're trying to do and why you're going down the road you go down, you can return more useful information. But you seem reluctant to do.
For the moment, your recent posts seem to just raise the same type of question - why are you doing this?
The normal way to return data to a client is a refcursor.
It is the most effective way.
Not through collections that you seem to be put on the must-do approach.
-
Hello
I am trying to understand the procedure and on the inside, I have a dynamic query with where clause:
"Select."
tables
where 1 = 1
and instr (decode (nvl (' | nvl(pCATEG,'') |))) (("*"), "*", pb.categ, upper (' | nvl(pCATEG,'') |), pb.categ) > 0'
|| NVL(pEMP_GROUP_CODE,'') |
"and p.emp_group_code = g.emp_group_code';"
For it, clause make sense (parameter pEMP_GROUP_CODE is not connected to any condition, or I missed something)?
The procedure is works and connected to the application.
Please notify
Thank you
Daniel
Has been confused by "p.emp_group_code".
What you see is probably a lexical parameter, for example the value passed on s pEMP_GROUP_CODE a condition itself as 'and table.column = 'constant', which can be zero, so if you have a value, it adds a condition, otherwise just empty space and the condition is spared.
-
I wonder why the dynamic value query is executed before the boot process? Logically, it makes sense to run after them.
For example, I test a stored procedure that is supposed to delete a record, and I'd like to create this test report should be deleted as part of the startup process before execution of the stored procedure call to delete this test record. Apparently the dynamic query of value not returns not the test report in as long as the query parameter to call the stored procedure under test, which makes me think that is executed before the startup process of design...
Please advise...
Thank you
Val
As this thread does no traction/attention of the team of SQL Developer for a while, I had to submit a request for formal improvement on metalink:
RE: 19834977 - IN THE UNIT TEST REQUEST TO ALLOW TO CHANGE THE ORDER OF EXECUTION OF THE START OF THE PROCESS
Thank you
Val
-
Export the result to an Excel file
I use the attached script to export the inventory then as excel file. I used LucDtechnical of this post to store information in a CSV temp and later, save them to a XLS file. I need to perform a certain formatting in the report, as to change the size of the font of the header, adding some background colors.
Do not the formatting as I am exporting to a CSV file. Is there another way to achieve the formatting?
You can take a look at my post Export-Xlsx, the suite and ordered data .
-
Need help tuninng a dynamic query
Hello
We have following question
Select s.* s bose_sites.registration_crm_serial_number
R2 bose_sites.registration_crm_serial_number left on join
s.serialnr = r2.shipserialnr
where s.shipserialnr is null
and (r2.serialnr = ' 052378332000138AE' or (s.serialnr =)
(( "052378332000138AE" and s.shipserialnr is null))
which takes about 40 seconds to execute with the values highlighted in bold being dynamic values
If anyone can help reduce the run time on this request.
There are indexes created on table
INDEX_NAME INDEX_TYPE
------------------------------ ---------------------------
IDX_REG_CRM_SER_NUM_CPC NORMAL
IDX_REG_CRM_SER_NUM_SHIPDATE NORMAL
IDX_REG_CRM_SER_NUM_PARENT_ID NORMAL
IDX_REG_CRM_SER_NUM_ID NORMAL
is it possible that we can capture a dynamic query using DBMS_SQLTUNE
all suggestions will be useful.
Hello
You have one table here
-------------------------------------------------------------------------------
Schema name: SYS
SQL ID: cf2875zz4q4nd
SQL text: select s.* bose_sites.registration_crm_serial_number s
R2 bose_sites.registration_crm_serial_number left on join
s.serialnr = r2.shipserialnr
where s.shipserialnr is null
and (r2.serialnr = '052378332000138AE' or (s.serialnr =
S.shipserialnr and "052378332000138AE" is null))
-------------------------------------------------------------------------------
then why don't you go for a simple query
HTH
-
How to export the search results to Excel
Hi all
Our client needs features to export the search results to Excel (metadata)
Feature of IE (right click-> export to excel) does not work properly - delimiter converts empty column in the excellent columns.
Having someone met solution for this feature.
Thank you
LeonHi Leon,
For this feature, you can enable RM on the server of the University Complutense of MADRID in stand-alone mode that gives search results export to excel function.
Not only that you can export the contents of a variety of formats such as PDF, XLS, and 2-3 more.
Thank you
Srinath -
Hi all;
Can u please help me on the following dynamic query code? I know that I'm missing the single quote around 2 dates, but could not understand where to put it! I tried to put 2 or 3 citations around 2 bind vars but in vain.
To create a dynamic query to simulate the following:
Select
EMPNO, ENAME, JOB, MGR, HIREDATE from emp where HIREDATE > = to_date('01/01/1981','MM/DD/YYYY') and DATERECRUTEMENT < = to_date('12/31/1982','MM/DD/YYYY');
dynamics of code:
declare
v_q varchar2 (4000);
Start
v_q: = "select ENAME, JOB, MGR, EMPNO, HIREDATE from emp;
V_q: = V_Q
|| ' where HIREDATE > = '
|| ' to_date (' |: P_DATE1 |) ',' ||''' MM/DD/YYYY "' | ' )'
|| "and HIREDATE < = '".
|| ' to_date (' |: P_DATE2 |) ',' ||''' MM/DD/YYYY "' | ' )';
-end of the sql
v_q: = v_q | « ; » ;
dbms_output.put_line ("East V_Q" |) V_Q);
end;
Thank you.
Zendeclare v_q varchar2(4000); v_rec emp%rowtype; v_cur sys_refcursor; begin v_q :='select EMPNO,ENAME,JOB,MGR,HIREDATE from emp '; V_q := V_Q || 'where HIREDATE >= to_date(:P_DATE1,''MM/DD/YYYY'') and HIREDATE <= to_date(:P_DATE2,''MM/DD/YYYY'')'; dbms_output.put_line ('V_Q is ' || V_Q); open v_cur for v_q using '01/01/1981', '12/31/1982'; loop fetch v_cur into v_rec.empno, v_rec.ename, v_rec.job, v_rec.mgr, v_rec.hiredate; exit when v_cur%notfound; dbms_output.put_line('empno = ' || v_rec.empno); dbms_output.put_line('ename = ' || v_rec.ename); dbms_output.put_line('job = ' || v_rec.job); dbms_output.put_line('mgr = ' || v_rec.mgr); dbms_output.put_line('hiredate = ' || to_char(v_rec.hiredate,'MM/DD/YYYY')); dbms_output.put_line('===================='); end loop; close v_cur; end; / V_Q is select EMPNO,ENAME,JOB,MGR,HIREDATE from emp where HIREDATE >= to_date(:P_DATE1,'MM/DD/YYYY') and HIREDATE <= to_date(:P_DATE2,'MM/DD/YYYY') empno = 7499 ename = ALLEN job = SALESMAN mgr = 7698 hiredate = 02/20/1981 ==================== empno = 7521 ename = WARD job = SALESMAN mgr = 7698 hiredate = 02/22/1981 ==================== empno = 7566 ename = JONES job = MANAGER mgr = 7839 hiredate = 04/02/1981 ==================== empno = 7654 ename = MARTIN job = SALESMAN mgr = 7698 hiredate = 09/28/1981 ==================== empno = 7698 ename = BLAKE job = MANAGER mgr = 7839 hiredate = 05/01/1981 ==================== empno = 7782 ename = CLARK job = MANAGER mgr = 7839 hiredate = 06/09/1981 ==================== empno = 7839 ename = KING job = PRESIDENT mgr = hiredate = 11/17/1981 ==================== empno = 7844 ename = TURNER job = SALESMAN mgr = 7698 hiredate = 09/08/1981 ==================== empno = 7900 ename = JAMES job = CLERK mgr = 7698 hiredate = 12/03/1981 ==================== empno = 7902 ename = FORD job = ANALYST mgr = 7566 hiredate = 12/03/1981 ==================== empno = 7934 ename = MILLER job = CLERK mgr = 7782 hiredate = 01/23/1982 ==================== PL/SQL procedure successfully completed. SQL>
SY.
-
Sort on dynamic query problem!
Hello
I have a dynamic query written in pl/sql, when I check "Sort" for each field in the report attribute, error message resurrected as "ORA-01785: ORDER BY item must include the number of an expression in the SELECT list.
If I do not check sort, it works very well. In my applications, I need all the fields sorted by user, how do I solve this problem?
My query as below:
declare
Ask varchar2 (2000): = "select";
s_class varchar2 (1000);
cursor c1 is select * from demo_preference;
Start
for c1_val looping c1
If c1_val.login is not null then
query: query = | » ' || 'login ' | ',';
end if;
If c1_val.id is not null then
query: query = | » ' || 'id ' | ',';
end if;
.......
end loop;
query: = SUBSTR (query, 1, length (query)-1);
s_class: = ' (NVL (: P2_class, "%" |)) ''null%'') = ''%'' || "zero percent" OR
EXISTS (SELECT 1 FROM apex_collections WHERE collection_name = "P2CLASSCOL" AND class = c001))';
query: query = | » ' || ' from ming.reg_report_view1 where '.
|| ' ' || s_class;
Return (Query);
end;Maybe the internal column used when you clicked the sort is not indicated in the report. Try to use aliases when you build the query string, it might help apex internally to identify a column even if its order is changed to another user. After all, the order of the columns in the code is dynamic and I assume that even the number of displayed columns can vary that could sort on a column that is identified by a number not valid.
How about somewhere, displaying the report query so that you know what is the exact query processing, it could give you the best information on the problem.
If the problem persists, use a collection that is extracted these record using the same query string, then replace the report to view the collection and then set the sort column on. This way Summit could get confused about which columns are being sorted and it would just sort on a c001... C050 column as if it were a string (Yes problems with the number of sort columns when you do this).
-
30EA2 - UNIT TESTING - value dynamic query truncating dates time.
So I use the installation of SQL Developer Unit Testing (very nice by the by) for a bit now and just recently upgraded to the latest beta version (3.0.02.83). Looks like a bug has been introduced by which the dynamic query of value are truncate all time of all DATE data type information.
This causes sadness serious for my current test cases and for me since I have to go back to the previous beta version :)I noticed that, in the new 30EA2 parameter:
AddVMOption - Doracle.jdbc.mapDateToTimestamp = false
has been introduced by default in
[SQLDEveloper_install_dir]/sqldeveloper/bin/sqldeveloper.conf
Perhaps it has something to do with the behavior of incorrect date, try to remove the parameter and check again.
-
Syntax for taking export with the "Query" parameter
Hi all
Please help me about the syntax for export with the query parameter takingHello
exp file=d:\exp.dmp log=d:\exp.log tables=scott.emp query='where empno=10' exp file=d:\exp.dmp log=d:\exp.log tables=scott.emp query='where ename='''SCOTT''
Salman
-
Hai I want dynamic query for framing
HORN must be updated using dynamic queryCREATE TABLE PI4 (COR varchar2(1),dep varchar2(3),cod_rc varchar2(2)) insert into pi4(dep,cod_rc) values('A01','5C') insert into pi4(dep,cod_rc) values('DAC','5L')
as below
sql_stament is that the variable must be set to above code.UPDATE PI4 SET PI4.COR = ’O’ WHERE PI4.DEP IN ('A01','A02','A03') OR ( PI4. dep IN ('DAC','FTS','G12') AND PI4.COD_RC = '5L' )
Pls help
SCheck below the code where the CO value is assigned dynamically to a p_cor variable
DECLARE v_sql_statement VARCHAR2(32767) := NULL; p_cor VARCHAR2(10) := 'O'; BEGIN v_sql_statement := 'UPDATE PI4 SET PI4.COR ='||p_cor||' WHERE (PI4.DEP IN (''A01'',''A02'',''A03'') OR (PI4. dep IN (''DAC'',''FTS'',''G12'') AND PI4.COD_RC = ''5L''))'; EXECUTE IMMEDIATE v_sql_statement; END;
If you do not need dynamic query to perform the update:
See the code below:
DECLARE p_cor VARCHAR2(10) := 'O'; BEGIN UPDATE PI4 SET PI4.COR =p_cor WHERE PI4.DEP IN ('A01','A02','A03') OR (PI4. dep IN ('DAC','FTS','G12') AND PI4.COD_RC = '5L')); END;
Published by: AP on July 27, 2010 03:39
Published by: AP on July 27, 2010 04:51: end tag code included
-
Display of the results of query in Excel on the Web
Hello
I try to display data from a query in excel on the web without creating an existing file. I know I can create a CSV using UTL_FILE and post it but I was hoping there was a way to do it without actually creating the file. I have a procedure that resembles
PROCEDURE displayAsCSV is
cursor STUD_CURS is
Select * from students;
BEGIN
for STUD_REC loop STUD_CURS
HTP. Print (' "' |") STUD_REC. FIRST_NAME. » " , " '|| STUD_REC. LAST_NAME. » " ');
end loop;
END;
Anyone know if it is possible to display these results in excel in the browser by altering the MIME types or something similar?
Thank youCheck Tom owa_sylk utility with the appropriate mime type.
Maybe you are looking for
-
Hello. Following these instructions , I tried to change the display of my X 201. I did notice something special when taking apart, but when I tried to see if the new display worked there do not have. Then I tried with my old screen, but that didn't w
-
computer that extends to the tv
Previously, I had my calculation running through my TV using HDMI to connect. I replaced the cable and no longer have the computer to diplay on tv even if I have sound and blue screen. My operating system is XP SP3
-
A shortcut of desktopnotepad was created on my laptop computer containing this information[ShellClassicInfo]LocalizedResourceName=@%SystemRoot%\system32\\shell32.dll,-21799This opens when I turn on the computer. What is it? How can I find out where i
-
Error biohd1 and 2. Everything was fine before, until I have shut down for the night. It keeps asking for a restart and select a proper boot device or insert boot media and press a key. I have a p6360a
-
Hellofirst of all, I want you to know I love all Sony products but right now I have a problemI have Sony Xperia Z1 Compactand SmartWatch 2they worked fine, but after updateing my Android to be compact z14.4.4 build number 14.4.A.0.108 There is error