Returning nodes from procedures
What is the safest way to return nodes?
Have a group of packages which combined create an xmlDocument.
Level 1 calls level 2 1+ times.
Level 2 calls any level 3 1+ times (in any order).
Tried (amongst other alternatives) returning Fragments and
cloning them in to the main document, but after several
successful executions oracle fails to create xml objects.
Only by starting a new session will the procedures work again.
Heres a simplified look at the code.
procedure get_level3Node_001(in_id, out_frag)
procedure get_level3Node_010(in_id, out_frag)
procedure get_level2Node(in_id, out_frag)
procedure get_level1Node()
when a node is returned from a procedure it is handled like this:
-- xmlDoc is the local document in the procedure
-- xmlNode is the active/current Node
-- xmlFrag is returned from another procedure
-- xmlFrag was created from a separate xmlDocument
xmlNode1 := xmldom.makeNode(xmlFrag);
xmlNode2 := xmldom.makeNode(xmlDoc);
xmlNode2 := xmldom.cloneNode(xmlNode1, TRUE);
xmlNode := xmldom.appendChild(xmlNode, xmlNode2);
xmlNode := xmldom.getParentNode(xmlNode);
xmldom.freeDocument(xmldom.getOwnerDocument(xmlNode1));
Really need help fast!
Not much help, but I couldn't tell you how to do this using PDO. If however, you want to know how to do it without PDO (i.e. via OCI8 PHP functions directly), let me know and I will post some code...
Similar Messages
-
How to return cursor from procedure to jdbc
plz help me through example of code as wl as procedure where.... return cursor from procedure to jdbc
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE procedure anil3 @count INT OUT,@opcode INT OUT,@total_tiff INT OUT
as
declare @query2 varchar(300),@tiff_count int,@query1 varchar(300)
set @query1='declare move_cursor cursor forward_only static for
select count(opcode),opcode from TABLE1 group by opcode
open move_cursor'
exec(@query1)
fetch next from move_cursor into @count,@opcode
set @opcode="'"+@opcode+"'"
set @total_tiff=0
while (@@fetch_status=0)
begin
set @query2='declare move_cursor2 cursor static for '+
' select count(tiff) from TABLE2 where opcode='+@opcode+
' open move_cursor2 '
exec(@query2)
fetch next from move_cursor2 into @tiff_count
while (@@fetch_status=0)
begin
set @total_tiff=@total_tiff+@tiff_count
fetch next from move_cursor2 into @tiff_count
end
close move_cursor2
deallocate move_cursor2
print @total_tiff
print @count
print @opcode
fetch next from move_cursor into @count,@opcode
end
close move_cursor
deallocate move_cursor
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO******************************************************************************
above this is sql server 2000 PL/SQL and i hv to get the value
print @total_tiff
print @count
print @opcode
through JDBC
plz help me out how to return Cursor to JDBC and HOW toPRINT THESE THREE VALUE @total_tiff, @count, @opcode through JDBC
get this values through JDBC -
Return Resultset from Procedure
Hi --
This may seem like a very elementary question, but can anyone tell me how to return a resultset from a function or procedure?
Thanks,
Christineif i understand your question correctly. a function return value is mandatory. while procedure is optional you had to use the out at the parameters. examples:
CREATE OR REPLACE FUNCTION get_age (pBday Date) RETURN number IS
vAge Number := 0;
BEGIN
vAge := (Months_Between(sysdate,pBday) / 12);
Return (vAge);
END;
CREATE OR REPLACE PROCEDURE get_age_procedure (pBday In Date, pAge Out Number) IS
BEGIN
pAge := (Months_Between(sysdate,pBday) / 12);
END;
/you need to create a reference cursor type object to achieve a result sets.
CREATE OR REPLACE package TYPES AS
TYPE cursorType IS REF CURSOR;
END; -
Returning resultset from procedure...or pkg
I am a newbie to Oracle but am steeped in MSSQL. I am accustomed to using a procedure to execute and produce a result set as its output from various input parameters thus keeping query complexity and details as a part of the database tier.
Is there a best practice in Oracle that provides this capability? Is the 'ref cursor' the correct container to hold the recordset data (usually combined from various base tables...counts and sums for reports etc) and how should it be returned to a calling application (web page) to be iterated through? Perhaps as an output parameter?
Thank you for helping with such a basic problem.Yes you would use a ref cursor, though it does not hold the results anywhere, they are fetched as needed, which is why it scales well.
Re: OPEN cursor for large query
Re: cursor ,inner join
You can return a ref cursor from a function or procedure, it would be no different in a package.
SQL> create or replace function f (p_deptno in number)
2 return sys_refcursor as
3 c sys_refcursor;
4 begin
5 open c for
6 select empno, ename, job, sal from emp
7 where deptno = p_deptno;
8 return c;
9 end;
10 /
Function created.
SQL> var c refcursor
SQL> exec :c := f(10)
PL/SQL procedure successfully completed.
SQL> print c
EMPNO ENAME JOB SAL
7782 CLARK MANAGER 2450
7839 KING PRESIDENT 5000
7934 MILLER CLERK 1300
SQL> create or replace procedure p
2 (p_deptno in number, p_c out sys_refcursor)
3 as
4 begin
5 open p_c for
6 select empno, ename, job, sal from emp
7 where deptno = p_deptno;
8 end;
9 /
Procedure created.
SQL> exec p(30, :c)
PL/SQL procedure successfully completed.
SQL> print c
EMPNO ENAME JOB SAL
7499 ALLEN SALESMAN 1600
7521 WARD SALESMAN 1250
7654 MARTIN SALESMAN 1250
7698 BLAKE MANAGER 2850
7844 TURNER SALESMAN 1500
7900 JAMES CLERK 950
6 rows selected.
SQL>There are examples how to reference them in other languages here, note this was pre-9i when the built in sys_refcursor type was provided.
http://asktom.oracle.com/tkyte/ResultSets/index.html -
can any one please tell me how to pass an dynamic array to a Procedure and get an dynamic array of values from Oracle.
Thanks,
PrasenjitPROCEDURE sp_error_report_summary(errorDate IN VARCHAR,
RESULT1 OUT Types.ref_cursor,
RESULT2 OUT Types.ref_cursor,
RESULT3 OUT Types.ref_cursor) IS
error_cursor Types.ref_cursor;
BEGIN
OPEN RESULT1 FOR
SELECT error_message,
site_name,
COUNT(*) COUNT_MSG
FROM error_report
WHERE error_date = errorDate
GROUP BY error_message,
site_name
ORDER BY site_name;
OPEN RESULT2 FOR
SELECT * FROM registration;
OPEN RESULT3 FOR
SELECT * FROM category;
END; -
How to get return values from stored procedure to ssis packge?
Hi,
I need returnn values from my stored procedure to ssis package -
My procedure look like and ssis package .Kindly help me to oget returnn value to my ssis package
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [TSC]
-- Add the parameters for the stored procedure here
@P_STAGE VARCHAR(2000)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
--SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2>
truncate table [INPUTS];
INSERT
INTO
[INPUTS_BASE]
SELECT
[COLUMN]
FROM [INPUTS];
RETURN
END
and i am trying to get the return value from execute sql task and shown below
and i am taking my returnn value to result set variableYou need to have either OUTPUT parameters or use RETURN statement to return a value in stored procedures. RETURN can only return integer values whereas OUTPUT parameters can be of any type
First modify your procedure to define return value or OUTPUT parameter based on requirement
for details see
http://www.sqlteam.com/article/stored-procedures-returning-data
Once that is done in SSIS call sp from Execute SQL Task and in parameter mapping tabe shown above add required parameters and map them to variables created in SSIS and select Direction as Output or Return Value based on what option you used in your
procedure.
Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs -
The ways to return data from a stored procedure.
Hi, I know there are three ways to pass out a value from a Microsoft SQL stored procedure, but I have no clear idea what Oracle SP can do, I know Oracle doesn't support multi-recordset(v8), can not return a recordset by a inner select query, but I do know there is a cursor object, which doesn't like its counterpart in Microsoft SQL server, is a choice under most situation. Here I wonder anyone who is good at Oracle can give a list of all ways to return data from a SP, including example is more better, thanks.
Here is a way to get return a record from a function and a procedure. You need to be familiar with Oracle packages as well as stored procedures and functions:
CREATE OR REPLACE PACKAGE EmpPkg AS
cursor cEmp(pEmpno in number) is
select empno, ename, job, hiredate, sal
from emp
where empno = pEmpno;
FUNCTION GetEmployee(pnEmpNo in number) RETURN cEmp%rowtype;
PROCEDURE GetEmployee(pnEmpNo in number, prEmp out cEmp%rowtype);
END;
CREATE OR REPLACE PACKAGE BODY EmpPkg AS
FUNCTION GetEmployee(pnEmpNo in number) RETURN cEmp%rowtype IS
rEmp cEmp%rowtype;
BEGIN
open cEmp(pnEmpNo);
fetch cEmp into rEmp;
close cEmp;
return rEmp;
END;
PROCEDURE GetEmployee(pnEmpNo in number, prEmp out cEmp%rowtype) IS
BEGIN
open cEmp(pnEmpNo);
fetch cEmp into prEmp;
close cEmp;
END;
END;
Here's how you use the package:
DECLARE
rEmp EmpPkg.cEmp%rowtype;
BEGIN
rEmp := EmpPkg.GetEmployee(7782);
dbms_output.put_line(rEmp.ename);
EmpPkg.GetEmployee(7902, rEmp);
dbms_output.put_line(rEmp.ename);
END;
Note that you can return any Oracle data type from a function. Likewise, you can specify any Oracle data type as an out parameter in a procedure. Also, you can make a parameter both an in and an out datatype like this:
PROCEDURE GetEmployee(pnEmpNo in out number);
I hope this puts you in the right direction.
null -
How to get return type as Table of Index by BINAR from Procedure using JDBC
Hi,
We have stored procedure which takes Varchar as input and rerurn muiltiple recored of type Table of index by BINARY
We created the procedure with in a package, its header part like below:
CREATE OR REPLACE PACKAGE emp_pkid_pkg
AS
TYPE r_emp IS RECORD ( employe_profile_id NUMBER
, client_profile_id VARCHAR2(240)
, email VARCHAR2(240)
, terms_acp VARCHAR2(1)
TYPE tp_emp_profile IS TABLE OF r_emp INDEX BY BINARY_INTEGER;
PROCEDURE er_employe_prov_profile ( e_inxid employe_provision_instance.inxid%TYPE
, e_emp_recs OUT tp_emp_profile
END emp_pkid_pkg;
This procedure has body part, wich has origial business logic like below.
CREATE OR REPLACE PACKAGE BODY emp_pkid_pkg
AS
PROCEDURE pr_customer_prov_profile ( e_inxid employe_provision_instance.inxid%TYPE
, e_emp_recs OUT tp_customer_provision_profile
IS
CURSOR c_emp_prov_instance ( c_guid employe_provision_instance.guid%TYPE )
etc ...
END emp_pkid_pkg;
We could execute the below script from oracle client tool and get the response.
DECLARE
e_cust emp_pkid_pkg.tp_emp_profile;
BEGIN
emp_pkid_pkg.er_employe_prov_profile ( 'ef45t6543y98'
, e_cust
FOR i in e_cust.FIRST..e_cust.LAST LOOP
DBMS_OUTPUT.PUT_LINE ( e_cust(i).employe_profile_id
||'#'|| e_cust(i).client_customer_id
||'#'|| e_cust(i).email
||'#'|| e_cust(i).term_acp);
END LOOP;
END;
We have requirement to get the results from procedure usind JDBC callable statement call.
We have tried to call the procedure via JDBC callable statement but it didn't work.
We have constructed it like the following. It was throwing error "java.sql.SQLException: invalid column type: emp_pkid_pkg.tp_emp_profile
CallableStatement cs2 = con.prepareCall("{call emp_pkid_pkg.er_employe_prov_profile(?,?)}");
cs2.registerOutParameter(2, OracleTypes.CURSOR, emp_pkid_pkg.tp_emp_profile);
cs2.setString(1,empId);
Not sure whether I am doing the logic correctly. But i tryed with diff type. Still am getting same error like above.
Please point me to the correct approach.
Thanks
Edited by: 921689 on 18-Mar-2012 17:20>
We have requirement to get the results from procedure usind JDBC callable statement call.
>
Can't be done - the reason has nothing to do with JDBC so you are in the wrong forum.
Repost in the PL/SQL forum and I can give you an example of what you have to do
PL/SQL
First the TYPEs you defined are PL/SQL types so can't be referenced outside PL/SQL; you need to define SQL types.
Second you will need to use a procedure that returns a REF CURSOR or is a PIPELINED procedure. Since your procedure doesn't fall into either category you can't use it with JDBC to do what you want.
If your query was a PIPELINED function then you could simply query it like it was a table. I have a PIPELINED function name 'get_emp' so this works.
select * from table(get_emp(30));Post in the PL/SQL forum and I can give you the code for the procedure. I'm not going to clutter up this forum with inappropriate material. -
Returning objects from Java stored procedures
I need to pass an object from Java to a Java SP which updates the object and returns the object back. The Java SP will be calling a PL/SQL procedure which returns some nested tables that I want to stick into the passed object.
I tried using "IN OUT" for the object in the call spec but got an error that it was not "appropriate for the parameter". So, the next option seems to be to pass it in and then return it from the Java SP. I'm just wondering though what the the best approach for accomplishing this? I've looked through some of the sample code on the OTN but haven't found anything yet that really helps.I am trying to use custom object classes. I have setup a type map for the connection and my custom class implements SQLData. Yet, when my client tries to call the Java SP, it gets ORA-00932 complaining of inconsistent data types (expected IN conversion failed).
I turned on some debug info (i.e. oracle.jdbc.sql=true) but it didn't provide any useful info in regards to why I'm getting this error. Unfortunately, the JDBC Developer's Guide does not provide full examples of the code. -
OCI8: returning cursors from stored procedures
The short version of my question is:
In OCI8, how do open a cursor from the database stored procedure, return it to my C++ program and fetch from it, given that in OCI8 cursors and cursor functions are becoming obsoleted?
The long version of the same question is:
I am converting my C++ code from the Oracle 7.3 OCI driver to the Oracle8 OCI driver. One thing I did very frequently in Oracle 7.3 OCI code is open a multi-row select cursor within a stored procedure and return that cursor to my program. In the program, I would then do the fetching with the returned cursor. This was very useful, as it allows me to change the queries in the stored procedure (for example, to append information to certain columns or make some data in all uppercase) without recompiling the application due to a changed SQL string.
My 7.3 psuedocode is as follows:
stored procedure def:
TYPE refCurTyp IS REF CURSOR;
FUNCTION LoadEmployeeData RETURN refCurTyp;
stored procedure body:
FUNCTION LoadEmployeeData RETURN refCurTyp IS
aCur refCurTyp;
BEGIN
OPEN aCur FOR
SELECT emp_id, emp_name
FROM employee_table
ORDER BY emp_name;
return aCur;
END;
OCI code: // all functions are simplified, not actual parameter listing
// declare main cursor variable #1 and return cursor variable #2
Cda_Def m_CDAstmt, m_CDAfunction;
// open both cursors
oopen(m_CDAstmt, ...);
oopen(m_CDAfunction, ...);
// bind cursor variable to cursor #2
oparse(&m_CDAstmt, "BEGIN :CUR := MYPACKAGE.LoadEmployeeData; END;");
obindps(&m_CDAstmt, SQLT_CUR, ":CUR", &m_CDAfunction);
// run cursor #1
oexn(&m_CDAstmt);
// bind variables from cursor #2, and fetch
odefineps(&m_CDAfunction, 1, SQLT_INT, &m_iEmpId);
odefineps(&m_CDAfunction, 2, SQLT_CHAR, &m_pEmpName);
while (!ofen(&m_CDAfunction))
// loop: do something with fetch
// values placed in m_iEmpID and m_pEmpName
This works perfectly, and has really helped to make my code more maintainable. Problem is, in Oracle 8 OCI both cursors and the cursor functions (such as oopen()) are becoming obsoleted. Now it uses statement and environment handles. I know I can still use Cda_Def and cursors--for a while--within OCI8, but I need to know the official up-to-date method of returning a cursor from the database and fetching within my C++ code. Any code fragment, or explanation of what I need to do in OCI8 would be appreciated (perhaps I need to bind to a statement handle instead? But the stored procedure still returns a cursor.)
The Oracle8 OCI has a new SQLT_ type, SQLT_RSET, which the header file defines as "result set type". Unfortunately, it's almost completely undocumented in the official documentation. Am I supposed to use this instead of the obsolete SQLT_CUR?
Thanks,
Glen MazzaEmail me diorectly and I will get you some code that might help. I fail to see the relevance of posting this type of information in the JDeveloper forum.
-
How return parameter ref Cursor from procedure using dynamic SQL?
I sorry, but i very need help.
I using Oracle 8.0.6
I need to return parameter of type ref Cursor from procedure.
create or replace package PlanExp is
type cursortype is ref cursor;
procedure ShowPlan (cursorparam out
cursortype.............);
end PlanExp;
create or replace package body PlanExp is
procedure ShowPlan (cursorparam out cursortype,
.............) Is
sql_str varchar2(1000);
sql_str_select varchar2(100);
sql_str_from varchar2(100);
sql_str_where varchar2(500);
Return_Code integer;
Num_Rows integer;
cur_id_sel integer;
tSum_Plan DBMS_SQL.NUMBER_TABLE;
tSum_Plan_Ch DBMS_SQL.NUMBER_TABLE;
tSum_Plan_Day DBMS_SQL.NUMBER_TABLE;
begin
/* calculating string variables ........... /*
sql_str := 'select ' || sql_str_select ||
'from ' || sql_str_from ||
'where ' || sql_str_where ||
'group by ' || sql_str_select;
cur_id_sel := dbms_sql.open_cursor;
dbms_sql.parse(cur_id_sel, sql_str, dbms_sql.native);
dbms_sql.define_array(cur_id_sel, 1, tSum_Plan, 20, 1);
dbms_sql.define_array(cur_id_sel, 2, tSum_Plan_Ch, 20, 1);
dbms_sql.define_array(cur_id_sel, 3, tSum_Plan_Day, 20, 1);
Return_Code := dbms_sql.execute(cur_id_sel);
delete from TEMP_SHOWPLAN;
Loop
Num_Rows := dbms_sql.Fetch_Rows(cur_id_sel);
dbms_sql.column_value(cur_id_sel, 1, tSum_Plan);
dbms_sql.column_value(cur_id_sel, 2, tSum_Plan_Ch);
dbms_sql.column_value(cur_id_sel, 3, tSum_Plan_Day);
if Num_Rows = 0 then
exit;
end if;
Exit When Num_Rows < 20;
End Loop;
dbms_sql.close_cursor(cur_id_sel);
end;
end PlanExp;
How return cursor (cursorparam) from 3 dbms_sql.column_value-s ?I am using Oracle 8.1.7, so I don't know if this will work in
8.0.6 or not:
SQL> CREATE TABLE test
2 (col1 NUMBER,
3 col2 NUMBER,
4 col3 NUMBER)
5 /
Table created.
SQL> INSERT INTO test
2 VALUES (1,1,1)
3 /
1 row created.
SQL> INSERT INTO test
2 VALUES (2,2,2)
3 /
1 row created.
SQL> INSERT INTO test
2 VALUES (3,3,3)
3 /
1 row created.
SQL> CREATE TABLE temp_showplan
2 (tSum_Plan NUMBER,
3 tSum_Plan_Ch NUMBER,
4 tSum_Plan_Day NUMBER)
5 /
Table created.
SQL> EDIT planexp
CREATE OR REPLACE PACKAGE PlanExp
IS
TYPE CursorType IS REF CURSOR;
PROCEDURE ShowPlan
(cursorparam IN OUT CursorType,
sql_str_select IN VARCHAR2,
sql_str_from IN VARCHAR2,
sql_str_where IN VARCHAR2);
END PlanExp;
CREATE OR REPLACE PACKAGE BODY PlanExp
IS
PROCEDURE ShowPlan
(cursorparam IN OUT CursorType,
sql_str_select IN VARCHAR2,
sql_str_from IN VARCHAR2,
sql_str_where IN VARCHAR2)
IS
sql_str VARCHAR2 (1000);
cur_id_sel INTEGER;
return_code INTEGER;
BEGIN
DELETE FROM temp_showplan;
sql_str := 'INSERT INTO temp_showplan '
|| ' SELECT ' || sql_str_select
|| ' FROM ' || sql_str_from
|| ' WHERE ' || sql_str_where;
cur_id_sel := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE (cur_id_sel, sql_str, DBMS_SQL.NATIVE);
return_code := DBMS_SQL.EXECUTE (cur_id_sel);
DBMS_SQL.CLOSE_CURSOR (cur_id_sel);
OPEN cursorparam FOR SELECT * FROM temp_showplan;
END ShowPlan;
END PlanExp;
SQL> START planexp
Package created.
Package body created.
SQL> VARIABLE g_ref REFCURSOR
SQL> EXEC PlanExp.ShowPlan (:g_ref, 'col1, col2,
col3', 'test', ' 1 = 1 ')
PL/SQL procedure successfully completed.
SQL> PRINT g_ref
TSUM_PLAN TSUM_PLAN_CH TSUM_PLAN_DAY
1 1 1
2 2 2
3 3 3 -
How can i return object from oracle in my java code using pl/sql procedure?
How can i return object from oracle in my java code using pl/sql procedure?
And How can i returned varios rows fron a pl/sql store procedure
please send me a example....
Thank you
nullyes, i do
But i can't run this examples...
my problem is that i want recive a object from a PL/SQL
//procedure callObject(miObj out MyObject)
in my java code
public static EmployeeObj callObject(Connection lv_con,
String pv_idEmp)
EmployeeObj ret = new EmployeeObj();
try
CallableStatement cstmt =
lv_con.prepareCall("{call admin.callObject(?)}");
cstmt.registerOutParameter(1, OracleTypes.STRUCT); // line ocurr wrong
//registerOutParameter(int parameterIndex, int sqlType,String sql_name)
cstmt.execute();
ret = (EmployeeObj) cstmt.getObject(1);
}//try
catch (SQLException ex)
System.out.println("error SQL");
System.out.println ("\n*** SQLException caught ***\n");
while (ex != null)
System.out.println ("SQLState: " + ex.getSQLState ());
System.out.println ("Message: " + ex.getMessage ());
System.out.println ("Vendor: " + ex.getErrorCode ());
ex = ex.getNextException ();
System.out.println ("");
catch (java.lang.Exception ex)
System.out.println("error Lenguaje");
return ret;
Do you have any idea? -
Handling Return Codes from SQL Stored Procedures
Hi,
Please can you let me know how to take care of system return codes from Stored Procedure in JDBC program. Is there any way it can be handled using Callabale Statement.
Regards.not sure what you mean by "system" return codes, but to capture return values from stored procedures you can use CallableStatement.registerOutParameter(), just like with output parameters. see http://www.j-netdirect.com/GenStoredProcedures.htm#ReturnStatus.
-
Procedure for return material from cost center
Is there any other Movement Type to return material from Cost Center except Cancellation of Goods Issue ?
Hi
I think no option other than cancellation.
You can try the the below scenario.
Try to receive the material into GR blocked stock using 103 if you want to use the material release it by 105
If you want to return then use movement type 124.
Hope it helps
Thanks/karthik -
How to return Values from Oracle Object Type to Java Class Object
Hello,
i have created an Oracle Object Types in the Database. Then i created Java classes with "jpub" of these types. Here is an example of the type.
CREATE OR REPLACE TYPE person_type AS OBJECT
ID NUMBER,
vorname VARCHAR2(30),
nachname VARCHAR2(30),
geburtstag DATE,
CONSTRUCTOR FUNCTION person_type RETURN SELF AS RESULT,
CONSTRUCTOR FUNCTION person_type(p_id NUMBER) RETURN SELF AS RESULT,
CONSTRUCTOR FUNCTION person_type(p_vorname VARCHAR2,
p_nachname VARCHAR2,
p_geburtstag DATE) RETURN SELF AS RESULT,
MEMBER FUNCTION object_exists(p_id NUMBER) RETURN BOOLEAN,
MEMBER PROCEDURE load_object(p_id NUMBER),
MEMBER PROCEDURE save_object,
MEMBER PROCEDURE insert_object,
MEMBER PROCEDURE update_object,
MEMBER PROCEDURE delete_object
MEMBER PROCEDURE load_object(p_id NUMBER) IS
BEGIN
SELECT p.id, p.vorname, p.nachname, p.geburtstag
INTO SELF.ID, SELF.vorname, self.nachname, SELF.geburtstag
FROM person p
WHERE p.id = p_id;
END;
My problem is, that if i use the member function "load_object" from my java app it doesnt return the selected values to the java class and i dont know why. I use the java class like this:
PersonObjectType p = new PersonObjectType();
p.load_object(4);
There is a reocrd in the database with id = 4 and the function will execute successful. But if i try to use "p.getVorname()" i always get "NULL". Can someone tell me how to do that?
Thanks a lot.
Edited by: NTbc on 13.07.2010 15:36
Edited by: NTbc on 13.07.2010 15:36CallableStatement =
"DECLARE
a person_type;
BEGIN
a.load_object(4);
? := a;
END;"
And register as an out parameter.
Edited by: michael76 on 14.07.2010 05:01
Maybe you are looking for
-
BW report in BP Fact Sheet in CIC0
Hi Gurus, We wish to display BP specific BW reports in our CIC0 fact sheet. We have configured a web template and are able to view the BW view in the CIC0 fact sheet. The issue is, that we want the BW query to run automatically based on the BP confir
-
Iphone no longer recognised by usb ports!
my replacement iphone 4 is not recognised by any of my usb ports now and i cant connect to itunes to sync all my music. ive tried everyting ive come accross on google and here! please help??
-
710: Can't open/save email attachments. Please hel...
Hello! I am brand new to the Nokia 710 and I have my AOL email account linked up to the phone. I am able to send and recieve emails just fine. My problem is that when I try to open/download any attachments like a Word or PDF document that are in the
-
iPhone 4 - tried updating with new software and now it's asking me to plug it to iTunes. The problem is that my laptop is dead. Is there anything I can do now? I Don't know if I can turn it of or do I just leave it and take it to service? I'd appreci
-
Problem with AS3 "ExternalInterface.call" in InternetExplorer
Hi, Explaining how the page is setup: I have a HTML page with 2 different AS3 Flash movies. The first flash movie is the main animation and sits in the middle of the screen with a large background image set into the body of the HTML. The second flash