Returning a number with precsion in pl/sql function
How can I return a number with desired precision in oracle function
e.g
Function return_number ( --- )
return number
is
v_number number(10,2)
begin
select no into v_number from table;
return v_number;
end;
will this work
How can I return a number with desired precision in oracle functionCreate a subtype as e.g. in
SQL> create or replace package pkg
as
subtype n10_2 is number(10,2);
end pkg;
Package created.
SQL> create or replace function return_number
return pkg.n10_2
is
v_number pkg.n10_2;
begin
return v_number;
end return_number;
Function created.
SQL> select object_name ,data_type, data_precision, data_scale from user_arguments where object_name = 'RETURN_NUMBER'
OBJECT_NAME DATA_TYPE DATA_PRECISION DATA_SCALE
RETURN_NUMBER NUMBER 10 2
1 row selected.also possible:
... return tab.col%type;where col is a column of tab with data type number(10,2).
Similar Messages
-
Pass a list of number values to a pl/sql function
I would like to pass a list of number values to a pl/sql function where the list will be used in an IN clause. Ideally I would like to do the following:
CREATE OR REPLACE FUNCTION ( dept_list in varchar2) is
begin
select ... where dept in (dept_list) ;
usage: process_list ( '7730,7735,7740,7745') ;
I can not find an example of doing this in pl/sql function but it seems feasible.
Is there a way to do this?user12088323 wrote:
I would like to pass a list of number values to a pl/sql function where the list will be used in an IN clause.
usage: process_list ( '7730,7735,7740,7745') ;The first thing is you need an appropriate data type to store a list of numbers. A single character value that looks to you like a list of numbers, is not in fact a list of numbers but a single character value.
This example uses the built in data type odcinumberlist in a procedure, you can do the same in function
Re: Passing an array to an Oracle stored procedure
If you have an old version of the database you may need to create your own type with the same definition of odcinumberlist. -
PO doesn't get created, backend returns PO number with "S" message
Hi experts,
I need your kind assisstance with the following problem: when SC is sent to the backend, the backend system returns the PO number with a message that the PO has been created. When we check at the backend the PO is not created.... It happens only when customer fields are transfered in the table EXTENSIONIN.
SRM Server 500.
Thanks a lot for your help.
Tomas KrausHi
<u>What error are you getting in this case ?</u>
<b>Question:</b>
<u>You are using BAPI_PO_CREATE1 and BAPI_PO_CHANGE to supply user-defined fields for tables EKKO, EKPO and EKKN. During the update, a termination occurs with DBIF_RSQL_INVALID_REQUEST.</u>
Answer:
Check in the CI structures of the corresponding database table as to whether there are type P (packed) fields. Refer to the online documentation for user-defined fields and the ExtensionIn parameter:
In BAPI table extensions, only CHAR data type fields and similar data types can be used by the customer. This restriction arises as a result of the BAPIPAREX reference structure of the extension parameters. In addition, the customer must not use standard table fields in the APPEND of the BAPI table extension because a 'move-corresponding' would also overwrite the SAP field.
See Note 509898 for a solution approach.
<b>Please go through the SAP OSS note -</b>Note 582221 - FAQ: BAPIs for purchase orders
<b>for more details.</b>
<u>Also go through the related SAP OSS Notes -></u>
Note 390742 - Customer enhancements not transferred
Note 336589 - BAPI_PO_CREATE: Customer enhancements
Note 867018 - Customer fields transfer to the back end
Note 445169 - BAPI_PO_GET_DETAIL: Integrated customer enhancements
Note 395311 - BAPI_PO_CREATE: Customer enhancements not copied
Note 631758 BAPI_PO_GETDETAIL: Incorrect ExtensionOut struc. name
Hope this will definitely help.Do let me know.
Regards
- Atul -
How to return less than 4000 characters from pl/sql function in SQL call?
Hello,
Is there a way to limit length for varchar when calling pl/sql function from SQL? No matter how I write it it always returns 4000 bytes.
If there is none, then does it make sense ever to specify lenght of the return variable?
My goal is to encapsulate business rules within pl/sql functions. But if all varchar columns are returned as 4000 it is not feasible solution. Not only this is a performance issue in a data warehousing environment, bet when using those rules within SQL views user experiance would suffer as well. Are we left with the rule hardcoding solution? Also, I think that using SUBSTRING or TRUNC functions on top of business rules function defeats the purpose.
Please see my attempt below. Your thoughts are appreciated.
Thank you.
/* Formatted on 06/11/2009 2:26:41 PM (QP5 v5.126.903.23003) */
CREATE OR REPLACE FUNCTION mytest (myvar_in VARCHAR2)
RETURN VARCHAR2
AS
l_return VARCHAR2 (15);
BEGIN
l_return := 'TEST_' || myvar_in;
RETURN l_return;
END mytest;
CREATE TABLE TEST_ME
AS
SELECT mytest ('ME') AS VERYLONG FROM DUAL;
describe TEST_ME;
RUN ABOVE CODE:
Function created.
Table created.
TABLE TEST_ME
Name Null? Type
VERYLONG VARCHAR2(4000)
Edited by: Ilmars2 on Jun 11, 2009 2:46 PMPointless,
Thanks for jumping in on this and I am glad you asked :).
I do not doubt that it is an architectural challenge. Otherwise it would have been done already! I am struggling with the fact that SQL knows what data type the function will return, but does not know the length of it, precision or scale. I will leave it at that.
I will go with some high level requirements to allow for alternative thoughts:
1) Business defined rules. There are multiple types of business rules. Simple lookups, bucketing, complex calculations, data retrieved from other tables etc. We have about 500 different rules. Some of them are even overloaded – different inputs will produce the same output.
Some simple examples are:
Rule1 - Fruit
when ‘A’ then ‘Apple’
When ‘O’ then ‘Orange’
Else ‘N/A’ end
Rule2 – Bonus
when STATUS =’Active’ and LEVEL=’CEO’ then bonus=salary*1.0
when STATUS =’Active’ and LEVEL=’nobody’ then bonus=salary*0.01
else bonus=0
Rule 3 – Income Bracket
When more than 0 and less or equal to 30000 then INC_B=’LOW’
When more than 30000 and less of equal to 60000 then INC_B=’MIDDLE’
Etc.
2) Challenge: All data users in an organization need to use the same rules (let’s assume data source is Oracle database). How to expose all the rules to different types of users in manageable way? Types of users – analysts, application/web developers, data warehouse teams etc.
3) Current system: Not only each user has coded their own rules (luckily based on the common specification), but hard-coding is taking place for each query within the confines of one project. The project I just looked at had about 12 modules with 30 hardcoded queries. Oops! Few rules just changed.
My take: I was leaning toward encapsulating business logic within UDF’s. UDF’s provide all the flexibility we need + overloading. All the functions could be consumed by data warehouse team (building summary tables, cubes etc.) and application developers. For power users we could build views by applying the same functions on top of the source data. Thus avoid data duplication. It seemed win-win until this 4000 issue :).
Your thoughts on alternative approaches are appreciated.
Thank you. -
How can I return multiple values with PL/SQL Web Services
Hi,
I'm new to developping Web Services. I'm doing some tests with JDeveloper and OC4J on my local machine with a Web Services based on a PL/SQL function within a package. Right now that function only returns one value. So the xml response only has one output.
I'd like to know how can I return multiple values with my PL/SQL Web Service. For example, if I want to return an employee's name and id? And that the xml contains two output : <employee>, <empid>?
Reginald
ps : I have searched the forum and I couldn't find an answer to this question, if that has been discussed AND answered before, can you please post the link? ThanksAlright, I actually found my answer. Since this was asked I think as a followup somewhere else I'll give my answer.
It is very simple, all you have to do is create an Object Type and then Return that object type. After that, JDeveloper will take care of everything and you will have an xml response with multiple values. Here
{color:#ff0000}
create or replace TYPE person AS OBJECT
( id_interv number,
first_name VARCHAR2(50),
last_name VARCHAR2(50),
date_birth date
);{color}
Then your function used in your Web Service should look something like this :
{color:#ff0000}
function info_emp (p_empno IN VARCHAR2) RETURN person AS
l_emp person := person(-1,'','','');
BEGIN
SELECT first_name
,last_name
,emp_no
INTO l_emp.first_name
,l_emp.last_name
,l_emp.emp_no
FROM emp
WHERE upper(emp_no) = upper (emp_no);
{color}
{color:#ff0000}
RETURN l_emp;
EXCEPTION WHEN NO_DATA_FOUND THEN
l_emp := person (-1,'n/a','n/a','n/a');
RETURN l_emp ;
END info_emp;{color}
{color:#ff0000}{color:#000000}After that, this is what the xml response looks like :{color}{color}
<first_name xsi:type="xsd:string">John</first_name>
<last_name xsi:type="xsd:string">Doe</last_name>
<emp_no xsi:type="xsd:string">0250193</emp_no> -
Materialized View with column based on PL/SQL function returning object
I have the following problem - it is known that materialized view wants PL/SQL functions used in it to be DETERMINISTIC. And it appears that a function which returns SDO_GEOMETRY cannot be DETERMINISTIC - I can add DETERMINISTIC modifier to my function which returns sdo_geometry based on USNG grid ID and save the package, and it compiles and runs fine with regular queries, but when it comes to materialized view (mview), the following error is thrown:
ORA-12018: following error encountered during code generation for "SCHEMA"."MVIEW_NAME"
ORA-00932: inconsistent datatypes: expected NUMBER got MDSYS.SDO_GEOMETRY
Looks like DETERMINISTIC modifier is not fully supported for object types. I have tried to use SDO_CS.FROM_USNG Oracle's function, and it appeared that this function is also non-deterministic - I cannot refresh mview with P or F on-demand refresh method (see http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14223/refresh.htm#i1008349 for a list of on-demand refresh methods). Without that function I can refresh mview with P or F flags.Hi,
Yes, the Chart Series can be based on "Function Returing SQL Query" and the "SQL" would be something like:
DECLARE
vSQL VARCHAR2(1000);
BEGIN
vSQL := 'SELECT NULL LINK, ENAME LABEL, SAL VALUE FROM EMP ORDER BY ENAME';
RETURN vSQL;
END;You should tick the "Save query without validation" underneath that. Without this, there is a validation error - the ; at the end is required to get the chart to function correctly but the validator sees this as an error.
You would need to create this separately from the report. No matter how you did it, the chart would still run a SQL statement to generate the output. If you wanted to use the "same data", then you could create a collection using the PL/SQL and base both the report and the chart on the collection instead.
Andy -
Problem with a simple function that return a number
Hi,
I'm writing a function that return a number. I receive always an error (invalid number) but I don't understand why.
The function is this:
>
FUNCTION COUNT_OBJECT(workflow_name_p IN NUMBER, object_type_p IN VARCHAR2) RETURN NUMBER
IS
object_inserted NUMBER;
BEGIN
object_inserted := 0;
IF workflow_name_p = 'AIMDailyIngestorWorkflow'
THEN
object_inserted := 1;
else
object_inserted := 100;
END IF;
RETURN object_inserted;
END COUNT_OBJECT;
I have left only an if and an assignment because I do not find the error.
When I execute the function I receive always this error:
ORA-01722: invalid number
01722. 00000 - "invalid number"
*Cause:
*Action:
There are not operation, only assignment I cannot understand.
Could someone help me?
Thanks bye bye.I changed in this way:
FUNCTION COUNT_OBJECT(workflow_name_p IN VARCHAR2, object_type_p IN VARCHAR2) RETURN NUMBER
IS
object_present NUMBER;
object_inserted NUMBER;
table_name_p VARCHAR2(4000);
query_stmt VARCHAR2(4000);
BEGIN
IF workflow_name_p = 'AIMDailyIngestorWorkflow'
THEN
SELECT SUM(B.STOREDOBJS) INTO object_present
FROM DPCTJOBTYPESTATS B
WHERE B.WORKFLOW_NAME = workflow_name_p AND B.OBJTYPE=object_type_p;
SELECT 'AIM.'||B.TABLE_NAME INTO table_name_p
FROM DPCTSWOBJTYPE B
WHERE B.OBJTYPE=object_type_p AND SOFTWARE='AIM';
EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM ' || table_name_p || ';' INTO object_inserted;
object_inserted := object_inserted - object_present;
END IF;
RETURN object_inserted;
END COUNT_OBJECT;and now the error is:
ORA-00911: invalid character
ORA-06512: at "INFRA.WORKFLOW_STATISTICS", line 504
00911. 00000 - "invalid character"
*Cause: identifiers may not start with any ASCII character other than
letters and numbers. $#_ are also allowed after the first
character. Identifiers enclosed by doublequotes may contain
any character other than a doublequote. Alternative quotes
(q'#...#') cannot use spaces, tabs, or carriage returns as
delimiters. For all other contexts, consult the SQL Language
Reference Manual.
but the line 504 is the blank line higlighted with the ***.
Why this error? The code seems correct.
Thanks, bye bye. -
Hello,
I've set up a region definition of type "SQL Query(PL/SQL function body return SQL query). In my query I make use of an "in" condition. When I populate :P755_INC_BARG_UNIT with a value of 0F (no quotes), I get the correct count. However, when I set :P755_INC_BARG_UNIT to 0F, 0E I get an invalid count. What do I have to set the page item to?
When running the query in TOAD, and setting :P755_INC_BARG_UNIT to the string inside the brackets (0F, 0E) I get the proper count.
The code I use is shown below. Any help would be appreciated,
Alex.
DECLARE
v_sql VARCHAR2(32767);
BEGIN
SELECT count(*) "cnts",
''Faculty data file IDs missing in appt table'' "err_type"
FROM hradmin.et_faculty_salary fs left outer join
hradmin.appointments appt
ON trim(fs.empl_id) = appt.emp_emp
and appt.ear_activ <> ''Z''
and appt.ear_type = ''F''
and (appt.ear_class in (''A'',''B'',''C'',''D''))
and appt.ear_bargunit in ( :P755_INC_BARG_UNIT )
WHERE appt.emp_emp is null
RETURN v_sql;
END;Alex,
try something like:
DECLARE
v_sql VARCHAR2(32767);
BEGIN
v_sql := <YOUR_SQL_STATEMENT_WITH_P755_INC_BARG_UNIT_IN_IT>;
v_sql := REPLACE(v_sql, ':P755_INC_BARG_UNIT',:P755_INC_BARG_UNIT);
RETURN v_sql;
END; But before doing it read this:
http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:210612357425
After reading you will be able to find the best solution yourself.
Lev -
Conditional display of region with PL/SQL function returning SQL query
Hello,
ApEx 2.0.
I use PL/SQL functions that return SQL queries to display the contents of a region.
How could I conditionally display such region ? If no data is found, the region shouldn't be shown. I tried with "SQL query returns at least one row" but this doesn't seem to work.
Thanks,
MatthiasHi Matthias,
Are the regions in question report regions? So your PL/SQL process is returning a SQL query and then populating a report?
The EXISTS(SQL Query returns at least one row) condition should work, try running the query you are using in the Expression 1 textarea inside SQL*Plus, or SQL developer using the same parameters, and see what gets returned.
If you are still stuck, can you post the query you are using inside your Expression 1 textarea of the Conditions section and I can take a look at it for you.
Hope this helps,
Cj -
Issue with running PL/SQL function returning Sql query
hi, I am trying to create a report region by using the option of PL/SQL function returning sql query.
I notice that it's very slow for the report region page to show up. In my PL/SQL function body, there are only 3 steps, first update all the 10 rows of varchar2 fields to null,then insert values to those fields, then select all from the table to show report results. It takes more than 5 minitues for the page to load up, how ever, if i run those steps in SQL*Plus, it only takes a couple of seconds to finish. Any suggestions?
Thanks,
ginaSergio, the codes are as followed,
Declare
q varchar2(32767); -- query
Begin
q := 'select "ID",'||
'"ENTRY NAME","TOTAL","#CM","%CM","#CA",'||
'"%CA", from Info_table';
update info_table
set "TOTAL" = '',
"#CM" = '',
"%CM" = '',
"#CA" ='',
"%CA"=''
where "ID"<=10;
// set all data in column Total to null,there is only 10 rows in the table
update info_Table set Total = vTotal,
"#CM" = vCM
(those variables hold user key-in Text filed value)
where ID = 1;
return q;
End; -
Plugin with PL SQL function returning query
Hi all,
I have created plugin using SQL query many times. But can we create a plugin from scratch using PL SQL function returning SQL query? Any ideas or sample.
Thanks
Sunil BhatiaHi Scott,
By this i mean, i have created a region type plugin for integrating jqx Grid into oracle apex. This takes input parameter as SQL statement, and creates jqx grid for me on page. Now my question is, can i do this using PL SQL function returning SQL, because when i try to give return statement, plugin gives error "SQL statement mandatory'. I hope i am clear enough now.
Thanks
Sunil Bhatia -
Using REF with object table in SQL Developer
When i create object tables and fill them with data, then in SQL Developer de REF value isn't displayed.
I did the following:
CREATE TYPE adres_type AS OBJECT
(straat VARCHAR2(20)
,nummer VARCHAR2(10)
,postcode VARCHAR2(6)
,plaats VARCHAR2(50));
CREATE TABLE adressen of adres_type;
CREATE TYPE locatie_type AS OBJECT
(nr NUMBER
,naam VARCHAR2(20)
,adres REF adres_type);
CREATE TABLE locaties OF locatie_type;
CREATE TABLE locaties OF locatie_type
(SCOPE FOR (adres) IS adressen);
insert into adressen values (adres_type('Arnhemsestraatweg', '33','6881ND','Velp'));
insert into locaties values (1,'Directie', (select ref (a) from adressen a where a.plaats = 'Velp'))
Then in SQL Developer de REF(A) column is empty, while in SQL*Plus it displays the REF value:
In SQL Developer: SELECT a.*, REF(a) FROM adressen a;
STRAAT NUMMER POSTCODE PLAATS REF(A)
Arnhemsestraatweg 33 6881ND Velp
In SQLPLUS: SELECT a.*, REF(a) FROM adressen a;
STRAAT NUMMER POSTCODE PLAATS REF(A)
Arnhemsestraatweg 33 6881ND Velp 0000280209C70341FBB96B4F77813B27B50E53BB4332382E22ADD64AD9B755F651D416B6DA010134
Is this a bug or is there another reason why the ID doesnt display in SQL Developer.
(this didnt work in all the previous SQL Developer releases and still not in de 2.1 E.A. version)Hi <not sure of your first name>,
I have replicated the issues and logged a bug against this
Bug 9102579 - FORUM: REF FUNCTION NOT RETURNING CORRECT RESULT
Regards,
Dermot O'Neill
SQL Developer Team -
Interactive Report with PL/SQL Function Source
Is it possible to create interactive report with PL/SQL function source returing a query? If not, has anyone done any work to simulate the interactive reporting feature for a normal report using API?
I haven't tried that before but you could:
1. create a collection from your result set returned by a dynamic query,
2. create a view on that collection,
3. use the view in your interactive report.
The usability of this proposal depends from a question how "dynamic" your query is - does it always have the same number of columns or not.
Denes Kubicek
http://deneskubicek.blogspot.com/
http://www.opal-consulting.de/training
http://apex.oracle.com/pls/otn/f?p=31517:1
------------------------------------------------------------------- -
I'm attempting to dynamically generate a rather large SQL query via the "PL/SQL function body returning SQL query" report region option. The SQL query generated will possibly be over 32K. When I execute my page, I sometimes receive the "ORA-06502: PL/SQL: numeric or value error" which points to a larger than 32K query that was generated. I've seen other posts in the forum related to this dynamic SQL size limitation issue, but they are older (pre-2010) and point to the 32K limit of the DNS (EXECUTE IMMEDIATE) and DBMS_SQL. I found this post (dynamic sql enhancements in 11g) which discusses 11g no longer having the 32K size limitation for generating dynamic SQL. Our environment is on 11gR2 and using ApEx 4.2.1. I do not know which dynamic SQL method -- DNS or DBMS_SQL -- ApEx 4.2.1 is using. Can someone clarify for me which dynamic SQL method ApEx uses to implement the "PL/SQL function body returning SQL query" option?
As a test, I created a page on apex.oracle.com with a report region with the following source:
declare
l_stub varchar2(25) := 'select * from sys.dual ';
l_sql clob := l_stub || 'union all ';
br number(3) := 33;
begin
while length ( l_sql ) < 34000 loop
l_sql := l_sql || l_stub || 'union all ';
end loop;
l_sql := l_sql || l_stub;
for i in 1 .. ceil ( length ( l_sql ) / br ) loop
dbms_output.put_line ( dbms_lob.substr ( l_sql, br, ( ( i - 1 ) * br ) + 1 ) );
end loop;
return l_sql;
end;
The dbms_output section is there to be able to run this code in SQL*Plus and confirm the size of the SQL is indeed larger than 32K. When running this in SQL*Plus, the procedure is successful and produces a proper SQL statement which can be executed. When I put this into the report region on apex.oracle.com, I get the ORA-06502 error.
I can certainly implement a work-around for my issue by creating a 'Before Header' process on the page which populates an ApEx collection with the data I am returning and then the report can simply select from the collection, but according to documentation, the above 32K limitation should be resolved in 11g. Thoughts?
Shane.What setting do you use in your report properties - especially in Type and in Region Source?
If you have Type="SQL Query", then you should have a SELECT statement in the Region Source. Something like: SELECT .... FROM ... WHERE
According to the ERR-1101 error message, you have probably set Type to "SQL Query (PL/SQL function body returning SQL query)". In this situation APEX expects you to write a body of a PL/SQL function, that will generate the text of a SQL query that APEX should run. So it can be something like:
declare
mycond varchar2(4000);
begin
if :P1_REPORT_SEARCH is not null THEN
mycond:='WHERE LAST_NAME like :P1_REPORT_SEARCH ||''%''';
end if;
return 'select EMPLOYEE_ID, FIRST_NAME, LAST_NAME from EMPLOYEES ' ||mycond;
end;
And for escaping - are you interested in escaping the LIKE wildcards, or the quotes?
For escaping the wildcards in LIKE function so that when the user enters % you will find a record with % and not all functions, look into the SQL Reference:
http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14200/conditions007.htm
(You would than need to change the code of your function accordingly).
If you are interested in escaping the quotes, try to avoid concatenating the values entered by the user into the SQL. If you can, use bind variables instead - as I have in my example above. If you start concatenating the values into the text of SQL, you are open to SQLInjection - user can enter anything, even things that will break your SQL. If you really need to allow users to choose the operator, I would probably give them a separate combo for operators and a textfield for values, than you could check if the operator is one of the allowed ones and create the condition accordingly - and than still use bind variable for inserting the filtering value into the query. -
SQL Query ( PL/SQL function body returning query ) page
Hello Friends,
I have a page with type SQL Query ( PL/SQL function body returning query ).
I have written a pl/sql block that returns a sql query - select statment.
Some times i am getting no data found error - does it got to do with the variable that stores the query .
=======================
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
Error ERR-1101 Unable to process function body returning query.
OK
=====================
When the query is returned with records where exactly the records are stored is it in the variable declared in pl/sql block or with the Oracle Apex implicit cursor.
Here's the pl/sql block ..
The query is generated while the user is navigating through pages ..
====================
declare
l_return_stmt varchar2(32767);
l_select varchar2(32000);
l_from varchar2(32000);
l_where varchar2(32000);
l_order_by varchar2(32000);
l_stmt_recordcount varchar2(32000);
l_recordcount number ;
begin
l_select := 'select '||:P10_VARLIST1||:P10_VARLIST2||:P10_VARLIST3
||:P10_VARLIST4||:P10_VARLIST5;
l_from := ' from '||:P10_RELATION;
if length(:P10_WHERE) > 0 then
l_where := ' where '||:P10_WHERE;
else
l_where := '';
end if;
if length(:P10_ORDER_BY) > 0 then
l_order_by := ' order by '||:P10_ORDER_BY;
else
l_order_by := '';
end if;
l_return_stmt := l_select||l_from||l_where||l_order_by;
:P10_STMT := l_return_stmt;
return l_return_stmt;
end;
=============================
Appreciate your help in this regard.
thanks/kumar
Edited by: kumar73 on Apr 22, 2010 6:38 AMIt looks like the query string you are trying to pass back exceeds the 32K limit for a varchar. Where this is happening is kind of difficult to tell as it could be any number of points, and also depends on what you are passing into the process via page items.
I would first try to establish what combination of page items causes this error to occur. Then, starting from the bottom and working your way backwards, I would start 'switching off' some of the items you use to build your query until it breaks again, thus establishing which part is leading to the error.
Also, I'm not sure what :P10_STMT is doing (are you maybe using this for visiblity of the query created)?
It looks like the query string you are trying to pass back exceeds the 32K limit for a varchar. Where this is happening is kind of difficult to tell as it could be any number of points, and also depends on what you are passing into the process via page items.
I would first try to establish what combination of page items causes this error to occur. then, starting from the bottom and working your way backwards, I would start 'switching off' some of the items you use to build your query until it breaks again, thus establishing which part is leading to the error.
Also, I'm not sure what :P10_STMT is doing (are you maybe using this for visiblity of the query created)?
Maybe you are looking for
-
I recently decided to upgrade my past songs with iTunes Plus. When I go to download them, it gives me the error "Unable to check for available downloads. The network connection timed out. Make sure your network settings are correct and your network c
-
I want to create or add an email address- blackberry curve 3520
Hi guys, i am very new to nthe world of moden phones and emailing on them! but i am getting very fustrated that i have followed the instructions to add email to my phone and it does not provide me with the option needed! i have a blackberry curve 352
-
Flashing undecorated JDialog on resize+setLocation
Hi everyone I have a undecorated JDialog with custome resize code. Here is a part of my code frame.setUndecorated(true); frame.addMouseListener(new MouseListener() public void mousePressed(MouseEvent e)
-
I imported a cd to itunes, but it doesn't show in the library or anywhere. I tried it again, "replacing" the already imported songs but still can't find them. iTunes shows them importing, and it all seems to be working ok, but then they are nowhere t
-
Hello, I have another “crash at startup” problem with safari (does the same with any Webkit nightly). What I've seen on other threads does not seem to help and as I does not understand crash report myself I count on you! Date/Time: 2009-02-25 10:36:1