Concatenation of strings - SQL Query (pl - sql function returning SQL query body
Hi allI have just problem with the string concatenation. I would like to come back to something like "Lname, FNAMe" but below returns it Lnamefname
v_sql: = ' SELECT concat(LNAME,FNAME) as an ENTREPRENEUR, '
' |' s.TEAM as TEAM, "he said.
|' s.CONTRACT_NO as CONTRACT_NO'
||' S '
I also tried below who gave the results as fname (seprate column as an entrepreneur) and lname received separately as lname... I wish I had it
example of result should be something like: = Weigner, Lucy
v_sql: = 'SELECT LNAME "| ', ' ||' FNAME ENTREPRENEUR,'
||' S.TEAM as TEAM "
||' S.CONTRACT_NO as CONTRACT_NO,'
Thank you
Lucy,
Try
v_sql := ' SELECT LNAME|| '',''|| FNAME CONTRACTOR,'
|| ' S.TEAM as TEAM,'
|| ' S.CONTRACT_NO as CONTRACT_NO,';
See you soon,.
Hari
Tags: Database
Similar Questions
-
Analyze: Body of PL/SQL function returning a SQL query
I need to get the final SQL returned by the PL/SQL function.
I'll use this final SQL in a procedure.
Please provide only a few tips on how to get the SQL code. I already looked in the DBMS_SQL package, but I don't know if this is the right place to look.
Kind regards
Sumitdeclare l2 varchar2(2000); begin l2:= 'Select NAME,ORIGINATED,OWNER,ORIGINATOR,'; l2:= l2 || 'DESIGNATED_UNIT,SOURCE,'; l2:= l2 || 'REFERENCE'; l2:= l2 || ' from MV_DETAILED_DATA'; /* Copy dynamic query SQL to application item for later use. */ :app_item := l2; wwv_flow.debug('l2: ' || l2); return l2; end;
I always use a call of debugging in the region of body of the PL/SQL function returning a SQL query sources so the real generated SQL can be quickly entered via the debug mode.
-
How a function returning length of characters greater than 4000 selected in SQL
Hello
I want to know if there is a way to write a select query on a function call that returns a varchar(8) more of 4,000 characters.
CREATE OR REPLACE FUNCTION FUNC1
RETURN VARCHAR2
IS
Str VARCHAR2 (32767).
BEGIN
Str: = < a string greater than 4000 tank >;
RETURN str;
END;
/
SELECT FUNC1 of double; -What gives a digital error or value of PL/SQL. Character string buffer too small.
Is there a way to fix this?
Thank you
Hello
From Oracle 12.1, VARCHAR2s can have up to 32767 bytes in SQL.
In versions 8.1 at 11, VARCHAR2s can have up to 4000 bytes in SQL. If you need to pass more PL/SQL, then you must spend a CLOB.
-
Get the bind variables name string SQL or the cursor
Hello
Is there way to get of the bind variables name string SQL or the cursor?
Example of
What I mean with the SQL string:DECLARE l_sql VARCHAR2(2000); desctab DBMS_SQL.DESC_TAB; curid PLS_INTEGER; BEGIN l_sql := 'SELECT * FROM emp WHERE mgr = :X and deptno = :Y'; curid := dbms_sql.open_cursor; dbms_sql.parse(curid, l_sql, dbms_sql.NATIVE); .... END;
I love to get using some functions from above code variable l_sql all the bind variable.
In this case the function should return array where is for example: X and: Y
Back to bind the cursor variable names, I mean same but rather string I pass number of cursor.
Y at - it sucks ready function or some may share a code customized for this purpose?
Thanks
Kind regards
Jari
http://dbswh.webhop.NET/dbswh/f?p=blog:Home:0Regards,
Published by: jarola December 19, 2011 02:44
I found there are wwv_flow_utilities.get_binds of the function not documented in APEX packages that do what I want.
Usage example
But I would not use these functions without papers as those who can change or there is no future versions APEX.set serveroutput on DECLARE binds DBMS_SQL.varchar2_table; BEGIN binds := wwv_flow_utilities.get_binds('select :P1_TEST from dual'); FOR i IN 1 .. binds.count LOOP dbms_output.put_line(binds(i)); END LOOP; END; / anonymous block completed :P1_TEST
Is there a documented function or the custom function that do the same thing as wwv_flow_utilities.get_binds?Some old basic example code of my friends. Also the media getting the bind variable of PL/SQL code blocks anon.
SQL> create or replace function GetBindVariables( statement varchar2 ) return TStrings is 2 --// bind variables names are terminated by one the following special chars 3 SPECIAL_CHAR constant TStrings := TStrings(' ',')','+','-','>','<','*',',','=',';',CHR(10),CHR(13)); 4 5 --// max size of a bind var name 6 MAX_VARSIZE constant integer := 100; 7 8 pos integer; 9 pos1 integer; 10 occur integer; 11 varName varchar2(100); 12 varList TStrings; 13 begin 14 varList := new TStrings(); 15 16 --// looking for the 1st occurance of a bind variable 17 occur := 1; 18 19 loop 20 pos := InStr( statement, ':', 1, occur ); 21 exit when pos = 0; 22 23 varName := SubStr( statement, pos, 100 ); 24 25 --// find the terminating char trailing the 26 --// bind variable name 27 pos1 := Length( varName ); 28 for i in 1..SPECIAL_CHAR.Count 29 loop 30 pos := InStr( varName, SPECIAL_CHAR(i) ) - 1; 31 if (pos > 0) and (pos < pos1) then 32 pos1 := pos; 33 end if; 34 end loop; 35 36 --// extract the actual bind var name (without 37 --// colon char prefix) 38 varName := SubStr( varName, 2, pos1-1 ); 39 40 --// maintain a unique list of var names 41 if not varName member of varList then 42 varList.Extend(1); 43 varList( varList.Count ) := varName; 44 end if; 45 46 --// look for the next occurance 47 occur := occur + 1; 48 end loop; 49 50 return( varList ); 51 end; 52 / Function created. SQL> SQL> select 2 column_value as BIND_VAR 3 from TABLE( 4 GetBindVariables('select * from foo where col=:BIND1 and day = to_date(:B2,''yyyy/mm/dd'')') 5 ); BIND_VAR ------------------------------ BIND1 B2 SQL>
PS. just realize this code is case-sensitive, while variable bind is not. Should throw a upper() or lower() by adding the name of the var to the list - never really a problem for me because I'm pretty tense when it use cases correctly in the code. ;-)
Published by: Billy Verreynne, December 19, 2011 06:19
-
ORA-06503: PL/SQL: function returned no value ORA-06512:
Hi all
SQL > set serveroutput on
SQL > CREATE OR replace FUNCTION qty_value (p_item_id number)
2 RETURN NUMBER
3 EAST
4 v_qty_arrival NUMBER;
5 BEGIN
6. SELECT THE CASE SENSITIVE OPTION
7. WHAT (SUM (b.quantity) - SUM (b.quantity_received)) < = 0 THEN 0
8 ELSE (SUM (b.quantity) - SUM (b.quantity_received))
9 END Qty_Arrival
10 INTO v_qty_arrival
Po_lines_all 11 a,
po_line_locations_all 12 b
13 WHERE a.po_line_id = b.po_line_id
14 AND a.item_id = p_item_id;
15 EXCEPTION
16 THEN THAN OTHERS THEN
17 v_qty_arrival: = NULL;
18 RETURN v_qty_arrival;
19 END qty_value;
20.
The function is created.
SQL >
SQL > select xxc_qty_arrivale (214960) double
2.
Select xxc_qty_arrivale (214960) double
*
ERROR on line 1:
ORA-06503: PL/SQL: function returned no value
ORA-06512: at the 'APPS '. XXC_QTY_ARRIVALE', line 19
Back AFTER using the exception block is fine as long as your code actually REACHED the exception block.
When there are no errors, then your code will not enter the exception block, but you still NEED to return a value, since it is what functions a function wants to return a value, that's what the functions are made for.
Spot the differences between the following 3 functions. Understand how they work.
The first function has only a return in the exception block but runs correctly. Result: error, because the back is missing in the code block.
The second function has a return in the exception block and one in the block of code and runs correctly. Result: no error, because the return is not missing in the code block.
The third function has a return in the exception block and one in the block of code and is forced into an error. Result: no error, because the return of the exception handler is used (instead of retriggering of the error, which you would normally do).
SQL > create or replace function myfunc
2 return number
3 as
4 start
5 dbms_output.put_line ('in the section of code');
6 null;
7 exception
8 then than others
9. can
10 dbms_output.put_line (' in the exception handler ' |) SQLERRM);
11 --
12 return 0;
13 --
14 end;
15.
The function is created.
SQL > select double myfunc;
Select double myfunc
*
ERROR on line 1:
ORA-06503: PL/SQL: function returned no value
ORA-06512: at "GHPLUS. MYFUNC", line 14
In the section of code
SQL > create or replace function myfunc
2 return number
3 as
4 start
5 dbms_output.put_line ('in the section of code');
6 null;
7 --
8 return 1;
9 --
10 exceptional
11 so that others
12. can
13 dbms_output.put_line (' in the exception handler ' |) SQLERRM);
14 --
15 return 0;
16 --
end 17;
18.
The function is created.
SQL > select double myfunc;
MYFUNC
----------
1
1 selected line.
In the section of code
SQL > create or replace function myfunc
2 return number
3 as
n number 4;
5. start
6 dbms_output.put_line ('in the section of code');
7 n: = 1/0; -force an error (zero divisor) to join the exception handler
8 --
9 return 1;
10-
exception 11
12 so that others
13. can
14 dbms_output.put_line (' in the exception handler ' |) SQLERRM);
15 --
16 return 0;
17 --
18 end;
19.
The function is created.
SQL > select double myfunc;
MYFUNC
----------
0
1 selected line.
In the section of code
In the handler for exception ORA-01476: divisor is equal to zero
SQL >
-
Function - return multiple values in a concatenated string
Hello
Is it possible for a function return a concatenated string (combining more than one number). I'm trying to return the purchase by the introduction and invoice_id number and code order number, but an invoice_id can have several PO with the same code number. I want to concatenate the PO numbers with commas, for example
10124, 10090, 10987
At the present time, the function returns NULL for those cases that have more than one purchase order number.
Thank youfunc_get_po(i.invoice_id, cc.code_combination_id) "PO No", func_get_po_requester(i.invoice_id, cc.code_combination_id, func_get_po(i.invoice_id, cc.code_combination_id)) "PO Requester",
Of course, this can be done without any problem.
If it returns NULL, then you must debug function and check the operating logic. I know that it will take a little of your time, but not problems with the logic of syntax and concatenation. -
ORA-06503: PL/SQL: function returned no value
Hi guys,.
I wrote a function that returns the number of quarter for a given date.
Here's the function
FUNCTION to CREATE or REPLACE fn_get_quarter
(p_date DATE)
RETURN NUMBER
AS
v_qtr NUMBER;
BEGIN
Select TO_CHAR (p_date, 'Q')
IN v_qtr
DOUBLE;
dbms_output.put_line (' it's quarter ' | v_qtr);
END;
It compiled without error.
Here is the test case that I wrote
DECLARE
p_date DATE: = TO_DATE('12/22/2009','MM/DD/YYYY');
v_qtr NUMBER;
BEGIN
v_qtr: = fn_get_quarter (p_date);
END;
When I run the present, I get the following error.
ORA-06503: PL/SQL: function returned no value
ORA-06512: at "GPS_FVO. FN_GET_QUARTER', line 13
ORA-06512: at line 7
But surprisingly, I get the result.
Please suggest and let me know how to get rid of this error and why I get this error.
Thanks in advance.
SamRETURN v_qtr;
should be added after DBMS_OUTPUT -
Dynamic region of the body of the function return query did not work
APEX 4.1
Oracle 11g
I have a report of dynamic fields according to the value of the different type of zone set element is body of pl/sql function, return query, see the source code of the region below.
declare
v_sql varchar2 (2000);
Start
IF: P2_BY = 'MONTH' THEN
v_sql: = 'SELECT ' | : P2_TYPE | ', SUM (JAN) JAN, SUM (FEB) FEB, SUM (MAR) MAR, SUM (APR) APR, SUM (MAY) MAY, SUM (JUN) JUN, SUM (JUL) JUL, SUM (AUG) AUG, SUM (SEP) SEP, SUM (OCT) OCT, SUM (NOV) NOV, SUM (DEC) DEC OF THE RPT_HOTEL GROUP BY ' | : P2_TYPE;
ON THE OTHER
v_sql: = 'SELECT ' | : P2_TYPE | ', SUM (Y2011) 2011, SUM (Y2012) Y2012, SUM (Y2013) Y2013, SUM (Y2014) 2014 RPT_HOTEL GROUP BY ' | : P2_TYPE;
Return v_sql;
end;
But "Missing expression" error when Save source in the region.
I checked the sql statement is valid in the sql command, and: P2_TYPE get the correct value.
If the generic column name 'use' then get the correct report, but the column name is random.
Please help solve.
Thank you so mcuh
Hi fac586,
I couldn't thank you more. Of course, read you my code and found that the design of table is not reasonable. in fact I just design for the demonstration of the prototype, so do not consider architecture.
I mean, it is that the problem has disappeared when I create a new page like this one, don't know how it happened. in any case what I need has been achieved, thank you very much for what you have done.
Here I paste my code for reference, that someone might need.
declare v_sql varchar2(2000); v_time varchar2(50); v_for varchar2(30); begin IF :P4_TIME='MONTH' THEN v_time := 'to_char(lodging_date,''MM'') MONTH'; v_for := 'to_char(lodging_date,''MM'')'; ELSE v_time := 'to_char(lodging_date,''YYYY'') YEAR'; v_for := 'to_char(lodging_date,''YYYY'')'; END IF; IF :P4_MEASURE='NIGHTS' THEN v_sql := 'SELECT * from (SELECT ' || :P4_BY || ',VENDOR_NAME,' || v_time || ',count(entry_legacy_key) ROOM_NIGHTS FROM HOTEL_EXPENSE GROUP BY ' || :P4_BY || ',VENDOR_NAME,' || v_for || ') PIVOT (SUM(ROOM_NIGHTS) FOR '; ELSE v_sql := 'SELECT * from (SELECT ' || :P4_BY || ',VENDOR_NAME,' || v_time || ',SUM(APPROVED_AMOUNT) SPENDING FROM HOTEL_EXPENSE GROUP BY ' || :P4_BY || ',VENDOR_NAME,' || v_for || ') PIVOT (SUM(SPENDING) FOR '; END IF; IF :P4_TIME='MONTH' THEN v_sql := v_sql || ' MONTH IN (''01'',''02'',''03'',''04'',''05'',''06'',''07'',''08'',''09'',''10'',''11'',''12''))'; ELSE v_sql := v_sql || ' YEAR IN (''2011'',''2012'',''2013'',''2014''))'; END IF; return v_sql; end;
and checked
'Use generic column names (analysis of query during execution only)'
column of the report used PL/QL name
declare v_sql varchar2(2000); begin v_sql := :P4_BY || ':VENDOR_NAME'; IF :P4_TIME='MONTH' THEN v_sql := v_sql || ' :Jan:Feb:Mar:Apr:May:Jun:Jul:Aug:Sep:Oct:Nov:Dec'; ELSE v_sql := v_sql || ':2011:2012:2013:2014'; END IF; return v_sql; end;
-
Function returning the query takes longer to run in Apex4.0
Hi all
I've created a report using the function returns the query. The function returns the query based on parameters that returns the dynamic columns. When I run the query in sql developer the query generates and returns the result in 3mins. But in the apex, it takes 35 minutes maximum to return.
The query returns about 10000 lines.
What a performance problem in the query or Apex? can someone help plz
Concerning
REDANo it's just the first tranche of 500. You can run it in good old SQL * more and the total time of the time (be patient however)
-
Loading of the DLL string using the Code Library function node
I experience now with the element of Code Library function node... what I wanted to do are, for example, I have compiled a. DLL file... which has a function that returns the pointer to string... function looks like:
/ * This function returns a pointer to the character string * /.
char * pchar (int n)
{
char * str [] = {"error", "String1" and "Word2", "3"};
Return ((n! = 1) & (n! = 2) & (n! = 3))? Str [0]: str [n];
}
but when I load into LabView DLL, a part of the chain on the screens to Panel frontal trash... any ideas why?
p.s. when I do even with integer values... say my job is like int x = 5; Return x; and then I load in LabView to the digital indicator... it works great!
So any ideas?
thanx
Cyrax says:
I experience now with the element of Code Library function node... what I wanted to do are, for example, I have compiled a. DLL file... which has a function that returns the pointer to string... function looks like:
/ * This function returns a pointer to the character string * /.
char * pchar (int n)
{
char * str [] = {"error", "String1" and "Word2", "3"};
Return ((n! = 1) & (n! = 2) & (n! = 3))? Str [0]: str [n];
}
but when I load into LabView DLL, a part of the chain on the screens to Panel frontal trash... any ideas why?
p.s. when I do even with integer values... say my job is like int x = 5; Return x; and then I load in LabView to the digital indicator... it works great!
So any ideas?
thanx
You cannot return a pointer to the data stored on the stack. At the time when the function returns, the stack is reset to the State before the call to the function and in a multithreaded as LabVIEW environment probably long reused for other things when LabVIEW gets around to actually copy the returned pointer data.
Since it is a read-only variable, you could create a permanent memory for string storage by declaring your variable static. This will create a memory area allocated globally for the string data (and also cause a compile error when you try to write in this area somewhere in your code, which is a good thing).
-
FIRST analytical functions returns the null line
The following query returns a null line when there is no such thing as a line for the predicate. Is it a bug or expected behaviour. If so what is the meaning of the null row, is it not logical?
SELECT NVL (max (ah.fyr_end_dt) KEEP (DENSE_RANK FIRST ORDER BY ah.as_of_dt DESC), ' RETURNED NULL')
Of account_history ah
WHERE
Ah.acct_id = 999
AND trunc (ah.as_of_dt) < = 31 December 08 '
;Hello
user4900730 wrote:
Moreover, in my example how I distinguish the case where a line really exists, but the column is null when there is no such thing as a line and the FIRST function returns the same value null? Hopefullly I should be able to do it in a single SQL and know the difference?COUNT (*) > 0, but COUNT (col_x) = 0, then there is a line, but col_x happened to be null.
For example, the following query shows that there is 1 row in the group with the lowest name ("ADAMS"), but the column comm in all ranks of this group is null:
SELECT COUNT (*) KEEP (DENSE_RANK FIRST ORDER BY ename) AS total_cnt , COUNT (comm) KEEP (DENSE_RANK FIRST ORDER BY ename) AS comm_cnt FROM scott.emp ;
Output:
TOTAL_CNT COMM_CNT ---------- ---------- 1 0
The employee whose highest name ("WARD") has a number in the comm column.
-
How the two function return values
Dear all,
Please explain, how the two values of function return?
give a simple example.
OK, a few examples...
First example, using a type of structured on the database object:
SQL > create or replace type tMyValues as an object (yr number, number, number of dy mn)
2.Type of creation.
SQL > create or replace function getMyValues return tMyValues is
2 number of y: = extraction (year sysdate);
number of 3 m: = extraction (sysdate months);
number of 4 d: = extract (day of sysdate);
5. start
6 return new tMyValues(y,m,d);
7 end;
8.The function is created.
SQL > set serverout on
SQL > declare
2 myValues tMyValues;
3. start
4 myValues: = getMyValues();
5 dbms_output.put_line (' year: ' | myValues.yr);
6 dbms_output.put_line (' month: ' | myValues.mn);
7 dbms_output.put_line (' date: ' | myValues.dy);
8 end;
9.
Year: 2015
Month: 4
Day: 1PL/SQL procedure successfully completed.
Second example, using an associative array within PL/SQL:
SQL > set serverout on
SQL > declare
2 type tMyValues is table of the index number to varchar2 (10);
3 myValues tMyValues;
4
5 function getMyValues return tMyValues is
6 retValues tMyValues;
7. start
8 retValues ('Year'): = extraction (year sysdate);
9 retValues ('Month'): = extraction (sysdate months);
10 retValues ('Day'): = extract (day of sysdate);
11 return retValues;
12 end;
13. begin
14 myValues: = getMyValues();
15 dbms_output.put_line (' year: ' | myValues ('Year'));
16 dbms_output.put_line (' month: ' | myValues ('Month'));
17 dbms_output.put_line (' date: ' | myValues ('Day'));
18 end;
19.
Year: 2015
Month: 4
Day: 1PL/SQL procedure successfully completed.
For the pipeline functions, see the example I wrote on the link provided by ReemaPuri (answer No. 3) that I don't need to re - write what I did before.
-
ORA 28817 PLSQL function returned an error. When the apex 4 2 instance access
Hello
I just upgraded from apex to apex 4.2 4.1. All is well except for this error I get when I try to access the parameter Instance on the App Admin (localhost/apex/apex_admin)
ORA-28817: PL/SQL function has returned an error
What could be the problem? How we solve this problem...
I'm working on the 2012 Win server machine... apex 4.2 with earphone 2 deployed on Glassfish 3.1.2 apex.
Best regards
FatehHello Faye,
We are already aware of this problem, even if it is not yet present on our Web page of problems known. The reason for this error is that the new facility replaces an instance to the scale encryption key. In the preferences of the instance which have been encrypted with the old value (the SMTP password and the password for the portfolio), the values are not valid after the upgrade and decryption causes this error. As a work around, you can use the apex_instance_admin package to replace the invalid passwords.
The following code shows how the decryption throws ORA-28817:
SYS@a411> select apex_instance_admin.get_parameter('SMTP_PASSWORD') from dual; select apex_instance_admin.get_parameter('SMTP_PASSWORD') from dual * ERROR at line 1: ORA-28817: PL/SQL function returned an error. ORA-06512: at "SYS.DBMS_CRYPTO_FFI", line 67 ORA-06512: at "SYS.DBMS_CRYPTO", line 44 ORA-06512: at "APEX_040200.WWV_FLOW_CRYPTO", line 89 ORA-06512: at "APEX_040200.WWV_FLOW_INSTANCE_ADMIN", line 239
You can fix this by entering new password:
SYS@a411> exec apex_instance_admin.set_parameter('SMTP_PASSWORD','my smtp password'); PL/SQL procedure successfully completed. SYS@a411> exec apex_instance_admin.set_parameter('WALLET_PWD','my wallet password'); PL/SQL procedure successfully completed. SYS@a411> select apex_instance_admin.get_parameter('SMTP_PASSWORD') from dual; APEX_INSTANCE_ADMIN.GET_PARAMETER('SMTP_PASSWORD') ---------------------------------------------------------------------------------------------- my smtp password 1 row selected.
Kind regards
Christian -
How to make FUNCTION returns several columns and several outputs line
Hi all
Kindly share your idea; Thanks in advance;
I have the demo of the Table.
DEMO table:
name identity
1 to 10
1-a11
1-a12
2-b10
2-b11
3 ccc
and the function is like:
create or replace function (number of p1) return varchar2 as
number of vid;
VNAME varchar2 (20);
Start
SELECT id, name in vid, vname from demo where id = p1;
return v1;
end;
/
This function returns the output for the id = 3;
BUT,
I need output like (input 1)
VNAME vid
1 to 10
1-a11
1-a12A function returns a single data type.
This type of data can be a type of atomic data (varchar2, number etc.) or it may be a type of data object to save, or even a type of collection data.
Where will you use this feature? In PL/SQL or SQL?
If you are wanting to use it in SQL, need you a pipeline for example function
SQL> CREATE OR REPLACE TYPE myemp AS OBJECT 2 ( empno number, 3 ename varchar2(10), 4 job varchar2(10), 5 mgr number, 6 hiredate date, 7 sal number, 8 comm number, 9 deptno number 10 ) 11 / Type created. SQL> CREATE OR REPLACE TYPE myrectable AS TABLE OF myemp 2 / Type created. SQL> CREATE OR REPLACE FUNCTION pipedata(p_min_row number, p_max_row number) RETURN myrectable PIPELINED IS 2 v_obj myemp := myemp(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); 3 BEGIN 4 FOR e IN (select * 5 from ( 6 select e.* 7 ,rownum rn 8 from (select * from emp order by empno) e 9 ) 10 where rn between p_min_row and p_max_row) 11 LOOP 12 v_obj.empno := e.empno; 13 v_obj.ename := e.ename; 14 v_obj.job := e.job; 15 v_obj.mgr := e.mgr; 16 v_obj.hiredate := e.hiredate; 17 v_obj.sal := e.sal; 18 v_obj.comm := e.comm; 19 v_obj.deptno := e.deptno; 20 PIPE ROW (v_obj); 21 END LOOP; 22 RETURN; 23 END; 24 / Function created. SQL> select * from table(pipedata(1,5)); EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- ---------- ---------- -------------------- ---------- ---------- ---------- 7369 SMITH CLERK 7902 17-DEC-1980 00:00:00 800 20 7499 ALLEN SALESMAN 7698 20-FEB-1981 00:00:00 1600 300 30 7521 WARD SALESMAN 7698 22-FEB-1981 00:00:00 1250 500 30 7566 JONES MANAGER 7839 02-APR-1981 00:00:00 2975 20 7654 MARTIN SALESMAN 7698 28-SEP-1981 00:00:00 1250 1400 30 SQL> select * from table(pipedata(6,10)); EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- ---------- ---------- -------------------- ---------- ---------- ---------- 7698 BLAKE MANAGER 7839 01-MAY-1981 00:00:00 2850 30 7782 CLARK MANAGER 7839 09-JUN-1981 00:00:00 2450 10 7788 SCOTT ANALYST 7566 19-APR-1987 00:00:00 3000 20 7839 KING PRESIDENT 17-NOV-1981 00:00:00 5000 10 7844 TURNER SALESMAN 7698 08-SEP-1981 00:00:00 1500 0 30 SQL> select * from table(pipedata(11,15)); EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- ---------- ---------- -------------------- ---------- ---------- ---------- 7876 ADAMS CLERK 7788 23-MAY-1987 00:00:00 1100 20 7900 JAMES CLERK 7698 03-DEC-1981 00:00:00 950 30 7902 FORD ANALYST 7566 03-DEC-1981 00:00:00 3000 20 7934 MILLER CLERK 7782 23-JAN-1982 00:00:00 1300 10 SQL>
If you use it in PL/SQL and then just filling a data type of collection and return that will make. Although you should question why you want to pass large amounts of data around like that first.
Explain your purpose and what you intend to do and we can recommend the best way.
{message: id = 9360002}
-
The page validation: function returning a Boolean
Hi guys,.
I'm doing a page validation simple to check an element in my presentation table if it is a number or not:
START
FOR i IN 1.. apex_application.g_f12. COUNTY
LOOP
IF LENGTH (TRIM (TRANSLATE (apex_application.g_f12 (i), "0123456789","" "))) is NOT null
THEN
RETURN FALSE;
END IF;
END LOOP;
END;
but I get this error message if g_f12 = AAA:
ORA-06502: PL/SQL: digital or value error: character of number conversion error
ERR-1021 error cannot run the validation of the "body of the function that returns a Boolean.
Ok
If g_f12 = A12 or a mixed alphanumeric it will work!
* (I tried this with the function returning the text and it works like a charm, but in this case I have to use the function returns boolean to allow me to translate the error message) *.
am I doing something wrong please help
Thank youHello
Well, now when I look at the error message, I think that the problem is quite obvious.
Kind regards
Jari-----
My Blog: http://dbswh.webhop.net/dbswh/f?p=BLOG:HOME:0
Twitter: http://www.twitter.com/jariolai
Maybe you are looking for
-
What application would you recommend if I want to use my ipad as a second monitor for macbook please?
-
I can't sign in to Skype with my Microsoft account. I think I tried everything. I don't have any exceptions for all sites to tools > settings > privacy > history. Skype mode using Windows safe does not work either. I think that none of my modules aff
-
Re: Satellite M300 - should I replace a damaged LCD screen?
My LCD screen is damaged and almost impossible to use. The laptop is still under warranty, but I understand screen damage are not covered. I don't know even how it happened. I'm not aware of any bump or impact to the unit. It is better to spend the m
-
(Int Exp 8) file is automatically downloaded, but I don't want to install it. How can I remove the download?
-
Windows 7 has Windows Defender? If so how can I find on my machine?
I use Macfee and I prefer Windows Defender so I was wondering. Help, please.