SQL & PL/SQL :: Removing Leading Single Quote In Excel File?
Feb 20, 2013
This package is generating excel file which contains cursor result.In excel data is populated like below.Column name is Zip_code .My concern is how to remove that single quote from excel file.
eg:
Zip_
'01234
'12567
'23432
'00234
create or replace
PACKAGE BODY PKG_MONTH_END_AUTOMATION AS
PROCEDURE PROC_ZIP_CODE_MONTHEND (directoryOrPath IN VARCHAR2 default 'LOC_PHASE1_WHOUSE_SALES_ADMIN')
[code]...
-- main body
BEGIN
-- Generating Zip Files
SELECT last_day(add_months(sysdate,-1))
INTO v_last_date
I need to generate a single excel file which each department details in seperate sheets of the excel file, each sheet should ne named with department no (ex :Dept_10, Dept_20,Dept_30) and the main excel should be named as Emp_details.
Header row and total row should be in bold.I have created 3 individual excels thru toad and moved them to single excel and renamed the sheets.
Can we programatically do this thru SQL or PL/SQL, does Oracle provide any build packages for excel.As excel files cannot be uploaded,I am unable to upload the excel file I generated manually.
select to_char(empno) empno,ename,job,mgr,hiredate, nvl(sal,0) sal,nvl(comm,0) comm,nvl(sal,0) + nvl(comm,0) "Total Income" ,deptno from emp where deptno = 10 union all select 'Total',null,null,null,null,sum(nvl(sal,0)),sum(nvl(comm,0)),sum(nvl(sal,0))+sum(nvl(comm,0)),null from emp where deptno = 10;
create table test_g(x date); insert into test_g values (to_date('01-NOV-2001','DD-MON-YYYY')); insert into test_g values (to_date('02-NOV-2011','DD-MON-YYYY')); insert into test_g values (to_date('03-DEC-2012','DD-MON-YYYY')); insert into test_g values (to_date('12-DEC-2012','DD-MON-YYYY')); insert into test_g values (to_date('31-DEC-2012','DD-MON-YYYY'));
[code].....
I wrote below procedure
create or replace procedure p_testq(p_in_date in date) is
v_comp date; v_strg varchar2(200); i number:=1; type t_trc is ref cursor; trc t_trc; v_sql varchar2(2000);
-- record to which data goes into
type t_prec is record(x date); prec t_prec;
-- plsql table to store data
type t_frec is table of t_prec index by binary_integer; frec t_frec;
-- flow of data, is from v_sql --> plsql record --> plsql table
begin dbms_output.put_line(' month of paramter '|| P_IN_DATE ||' is '||to_char(P_IN_DATE,'MON')); select min(x) into v_comp from test_g where x <= P_IN_DATE
[code].....
how do I store v_strg values so that the dates are included in single quotes
begin p_testq('12-DEC-2012'); end; v_strg: 06-Nov-2012,09-Nov-2012
The description field in the item table has the single quote used as the symbol for feet. I have the same issue pulling from a last name field in other tables. (Like O'Connor)
select descrip into v_result from c_ship_hist where shipment_dtl_id = :SDID; exception when others then null;
The error I get is "Missing right quote". How do I code around this issue without having to change the data?
I have table say Messages. In which there is a column msg_text varchar2(900).My requirement is to fetch the very last character of the msg_text for a single row identified by its msg_code(primary key).
The problem is, whenever msg_text contain second last character as single quote( ' ), it doesn't give me the last character i.e. after the single quote.For example if msg_text is "Congratulations, you opted for 'A'." and if its message_code is 10 then query
SQL> SELECT SUBSTR(msg_text,LENGTH(msg_text),LENGTH(msg_text)) AS LAST_CHAR FROM messages WHERE msg_code = 10;
returns nothing.
Whereas if msg_text is "Are you sure to continue?" and if its message_code is 20 then query
SQL> SELECT SUBSTR(msg_text,LENGTH(msg_text),LENGTH(msg_text)) AS LAST_CHAR FROM messages WHERE msg_code = 20;
The documentation for v$database says: QUOTE V$DATABASE displays information about the database from the control file. Is it safe to assume that there will only ever be one row queried from this view?
I receive source data with leading zeros. The Rules says: "If there is a leading 0 it has to be removed and data has to be shown starting with character 2".Here is my code I started with:
So many of the queries in our database query by an account but an account is allowed to vary by prefix and so queries are written similar to account like '%suffix'
Our DBA has rejected the use of context indexes and friends to deal with this.
as an aside and I'm probably going to regret going into this much detail but our model is
A->>B->>C
typically the queries want to fetch C's for a customer defined by A.account
A, B, C are all partitioned with partition key created_date
however, only C is typically queried with created_date as a qualifier. A and B are related by joins from A->>B and B->>C
when queries are written to use '%' leading wildcards often it results in a full table scan across multiple partitions. on any given day all we care about are the most recent C's for the customer where customer is defined by A.account.
I recently had an idea whereby fields such as A.Account could also be kept(denormalized) in the C table
the idea is if the queries were written to use C.account like '%bla' instead of A.account like '%bla' then because C is always qualified with the partition key ie. C.created_date that would at worst result in a full partition scan only. this is considerably less expensive than doing a full table scan of A. The IO cost of doing that is huge.
populating the C.account is a simple before insert or update trigger. when you insert a C you have a foreign key to a B and B has a foreign key to A. A and B are always created before any C is seen for any given C. When a C is seen A and B already exist in the database.
I am generating an XML file from plsql using utl_file.There is a problem in number field.The value in the table is 0.18 and it is showing up in xml as .18. The leading zero is not showing up.
COLUMN_NAME is number (15);
<TAG>' || A.COLUMN_NAME || '</TAG>
I have tried using to_char(), but it is still showing up as .18 in XML. I want it as 0.18 in XML as well.
I have been reading Oracle documentaion about access paths, got strucked at the concept 'Leading columns in index'. what is meant by 'Leading columns of an index', how to find/judge them that they are leading columns.
I have generate a excel file through oracle developer 2000 6iwith password protect using OLE2 but autofilter,sort and format column options are not working.
PROCEDURE UnProtectCell(r NUMBER,c NUMBER) IS BEGIN args:= ole2.create_arglist; ole2.add_arg(args, NumToRange(r, c)); XLRange:= ole2.get_obj_property worksheet, 'Range', args); ole2.destroy_arglist(args);
I am looking for a code/script to read values from excel file and perform PLSQL script.
Now i have the PLSQL script to generate report which takes two value which i have to change all the time to generate new report .All i wanna do create a script to read from a excel file and perform the other script.
I have been searching from a long time and only found UTL_file Package which use CREATE OR REPLACE FUNCTION and create some virtual table.
The problem is i don't have create authorization in database so i m not able to use UTL_File command . Is there any simple way to read value from excel file?
I have two columns in excel which i need to import in oracle table , but the problem is one column is of type date , i want the same date format to be maintained in table too.
how to attach an IMAGE in XML and that will be used in PL SQL procedure to generate the Excel file with the IMAGE. I cannot able to save the xml as excel with the image
When i am uploading data in an excel file to my Forms(Windows) the screen works fine but when i am uploading the same excel file to my forms in AIX(Where the application is running) the data is uploaded with decimal points.
The field is a char type and no format mask is set.
E.g. : Actual data: In Form(Windows) In Form (AIX) 4080026 4080026 4080026.0
When i am uploading data in an excel file to my Forms(Windows) the screen works fine . But when i am uploading the same excel file to my forms in AIX(Where the application is running) the data is wrongly uploaded . The field is a number type and no format mask is set.
E.g. : Actual data:---------- In Form(Windows)------In Form (AIX) 3101513480750030000 3101513480750030000 3101513480750029800
I am using OLE2 to update an excel spreadsheet from Oracle Forms 6i. If the excel spreadsheet is already open, the code runs through fine, and even asks if you want to replace the file when running the lines: OLE2.INVOKE(worksheet, 'Save');
OLE2.INVOKE(workbook, 'Save');
However, the file never gets updated. There is no error that appears. I would like to have the program check if the file is open before running the program;