How to register OUT param to RECORD type for STORED PROCEDURE???
hi
i have a SP like this
CREATE OR REPLACE PACKAGE P1 AS
TYPE g_con_ref_cursor is REF CURSOR ;
TYPE g_con_error IS RECORD
error_code NUMBER,
error_desc varchar2(2000)
PROCEDURE PROC_CURSOR
(i_str_userid IN VARCHAR2,
o_cur_ref_cur OUT g_con_ref_cursor,
o_rec_error OUT g_con_error,
o_num_status OUT NUMBER);
END;and now i am trying to call this SP using my java program
i am able to register the out put params for 2nd and 4 th variable
my doubt is how i can register the output param for 3rd (g_con_error) which is of record type
and how i can get result from this ????
my java program is like this
Connection connection = DatabaseHelper.prepareConnection();
CallableStatement proc = connection.prepareCall("{ call P1.PROC_CURSOR(?, ?, ?, ?) }");
proc.setString(1,"jn26557");
proc.registerOutParameter(2,oracle.jdbc.driver.OracleTypes.CURSOR);
proc.registerOutParameter(3,???,????); //HOW TO SET THIS ?????
proc.registerOutParameter(4,oracle.jdbc.driver.OracleTypes.NUMERIC);
proc.execute();plz help me in this
i have no idea how to do it
any help would be appreciated
Thanks in advance
Jaya Prakash Nalajala
You might give a try using:
proc.registerOutParameter(3, java.sql.Types.REF, "RECORD");
Similar Messages
-
How to pass a user defined table type to stored procedure?
Hi,
I am trying to call a stored procedure from Java. The store procedure has three IN parameter, 2 IN/OUT params and 3 OUT parameters. The two IN/OUT parameters are user defined objects. Can anyone tell me how to set these IN/OUT parameters in Java.
ThanksIt is database/driver specific so you need to use the specific functionality of the driver (not jdbc) to access it.
-
Oracle Instant Client and OUT Parameter of custom type in Stored Procedures
Hi @ all!
I try to set up a simple client application, that calls a stored procedure via Instant Client from C#.
The stored procedure and assiciated types looks like this:
TYPE MYVALUE AS OBJECT
Id INTEGER,
value FLOAT
TYPE MYVALUELIST AS TABLE OF MYVALUE;
PROCEDURE ReadValues( ID IN INTEGER,
RESULTSET OUT MYVALUELIST)
IS
...I created an Oracle Command executing this SP and added OracleParameters for ID and (where I got stuck) the RESULTSET.
Is it possible to pass a parameter with a custom type from C# in some way?
I already tried it as a function with SELECT * FROM TABLE(ReadValues(1));
With my parameter RESULTSET as the RETURN type. But since I use DML within the procedure, this does not work inside of a query...
Any suggestions?
Thanks in advance!Hi Greg!
Sorry, I misunderstood the forum topic then. =(
Anyway, in the example you provided in the link, this is nearly exactly my situation. But there the Oracle.DataAccess.Client is used, where the OracleDBType can be called to initialize an object of type person. I use the instant client libraries called by using System.Data.OracleClient. There is only the OracleType enum, that does not contain an object or something similar.
So I do it right now after trying a bit with a ref cursor parameter and an OracleDataAdapter - the ref cursor is passed back from Oracle as a DataReader, so die DataAdapter is able to use it for a .Fill():
OracleCommand cmd = new OracleCommand();
cmd.Parameters.Add("RESULTSET", OracleType.Cursor).Direction = ParameterDirection.Output;
OracleDataAdapter odr = new OracleDataAdapter(cmd);
DataTable result = new DataTable();
odr.Fill(result);Within my stored procedure I just added the following OUT parameter:
PROCEDURE ReadValues( ID IN INTEGER,
RESULTSET OUT sys_refcursor)
IS
currentlist MYVALUELIST;
... [Adding elements to that list] ...
OPEN resultset for select * from TABLE(currentlist);It works now, but I don't like that solution that much since I'm always afraid that there are lots of opened cursors idyling around. Do I have to close this one explicitly after filling my table by the DataAdapter?
Regards -
How to find out date in oracle when the Stored procedure in changed.
Dear Sir,
I want to know the list of dates when stored procedure is modified during a given period.
eg. Procedure created 01/01/2011
i changed the procedure 4 times say 01/10/2011,01/12/2011,01/01/2012 and 20/12/2012.
from where i can get these details along with the other details like what will be procedure syntax at different modifications and most important what is ipof machine.
thanks & regards
Munishuser9216770 wrote:
Dear Sir,
I want to know the list of dates when stored procedure is modified during a given period.
eg. Procedure created 01/01/2011
i changed the procedure 4 times say 01/10/2011,01/12/2011,01/01/2012 and 20/12/2012.
from where i can get these details along with the other details like what will be procedure syntax at different modifications and most important what is ipof machine.
thanks & regards
MunishOracle does NOT retain or contain previous versions.
You should be able to obtain these from your Source Code Repository; like Subversion. -
Table of records from a stored procedure
Hi
Where could I find an example or documentation about how to retrive a table of records from a Stored Procedure ??
ThanksTry:
CREATE OR REPLACE TYPE scott.MYRECORDTYPE as object
(a int, b varchar2(40), c date, d number(10));
CREATE OR REPLACE TYPE scott.MYTABLETYPE is table of myrecordtype;
CREATE OR REPLACE PACKAGE BODY scott.MYPACKAGE
as
type number_collection is table of number(38) index by binary_integer;
type varchar2_collection is table of varchar2(4000) index by binary_integer;
type date_collection is table of date index by binary_integer;
g_data myTableType;
empno_col number_collection;
ename_col varchar2_collection;
hiredate_col date_collection;
mgr_col number_collection;
function my_function return myTableType
is
begin
select empno, ename, hiredate, mgr
bulk collect into empno_col, ename_col, hiredate_col, mgr_col
from emp
order by empno; -- Get some data
g_data := myTableType(); -- Initialize
for i in empno_col.first .. empno_col.last loop
g_data.extend; -- Write something in the array
g_data(i) := myRecordtype(empno_col(i), ename_col(i), hiredate_col(i), mgr_col(i));
end loop;
return g_data;
end;
end;
-- Demonstration-View
CREATE OR REPLACE VIEW scott.myview
AS
select a,b,c,d
from table(cast(myPackage.my_function() as mytabletype)); -
Hi ,
How to find out the latest Record in per_all_people_f and per_all_assignments_f
Requirement : Need to find out the latest record in per_all_people_f and per_all_assignments_f to update the attribute column with pre defined value . Its not possible to track only with person_id / assignment_id and effective end date
SELECT pp_id
FROM (SELECT app.person_id pp_id,
asf.*
FROM apps.per_all_people_f app,
apps.per_all_assignments_f asf
WHERE --app.person_id=123568 and
asf.person_id = app.person_id AND
app.effective_end_date = to_date('31-dec-4712') AND
asf.effective_end_date = to_date('31-dec-4712')
GROUP BY app.person_id)
HAVING COUNT(pp_id) > 1
GROUP BY pp_id
This query also returns more than 1 value for person_id .
It would be great if you put comment on this .. Thanks in advance ,
AryaI am getting more records with asf.primary_flag='Y' . If you give ur mail id , i will send the sample data
ASSIGNMENT_ID EFFECTIVE_START_DATE EFFECTIVE_END_DATE BUSINESS_GROUP_ID RECRUITER_ID GRADE_ID POSITION_ID JOB_ID ASSIGNMENT_STATUS_TYPE_ID PAYROLL_ID LOCATION_ID PERSON_REFERRED_BY_ID SUPERVISOR_ID SPECIAL_CEILING_STEP_ID PERSON_ID RECRUITMENT_ACTIVITY_ID SOURCE_ORGANIZATION_ID ORGANIZATION_ID PEOPLE_GROUP_ID SOFT_CODING_KEYFLEX_ID VACANCY_ID PAY_BASIS_ID ASSIGNMENT_SEQUENCE ASSIGNMENT_TYPE PRIMARY_FLAG APPLICATION_ID ASSIGNMENT_NUMBER CHANGE_REASON COMMENT_ID DATE_PROBATION_END DEFAULT_CODE_COMB_ID EMPLOYMENT_CATEGORY FREQUENCY INTERNAL_ADDRESS_LINE MANAGER_FLAG NORMAL_HOURS PERF_REVIEW_PERIOD PERF_REVIEW_PERIOD_FREQUENCY PERIOD_OF_SERVICE_ID PROBATION_PERIOD PROBATION_UNIT SAL_REVIEW_PERIOD SAL_REVIEW_PERIOD_FREQUENCY SET_OF_BOOKS_ID SOURCE_TYPE TIME_NORMAL_FINISH TIME_NORMAL_START BARGAINING_UNIT_CODE LABOUR_UNION_MEMBER_FLAG HOURLY_SALARIED_CODE REQUEST_ID PROGRAM_APPLICATION_ID PROGRAM_ID PROGRAM_UPDATE_DATE ASS_ATTRIBUTE_CATEGORY ASS_ATTRIBUTE1 ASS_ATTRIBUTE2 ASS_ATTRIBUTE3 ASS_ATTRIBUTE4 ASS_ATTRIBUTE5 ASS_ATTRIBUTE6 ASS_ATTRIBUTE7 ASS_ATTRIBUTE8 ASS_ATTRIBUTE9 ASS_ATTRIBUTE10 ASS_ATTRIBUTE11 ASS_ATTRIBUTE12 ASS_ATTRIBUTE13 ASS_ATTRIBUTE14 ASS_ATTRIBUTE15 ASS_ATTRIBUTE16 ASS_ATTRIBUTE17 ASS_ATTRIBUTE18 ASS_ATTRIBUTE19 ASS_ATTRIBUTE20 ASS_ATTRIBUTE21 ASS_ATTRIBUTE22 ASS_ATTRIBUTE23 ASS_ATTRIBUTE24 ASS_ATTRIBUTE25 ASS_ATTRIBUTE26 ASS_ATTRIBUTE27 ASS_ATTRIBUTE28 ASS_ATTRIBUTE29 ASS_ATTRIBUTE30 LAST_UPDATE_DATE LAST_UPDATED_BY LAST_UPDATE_LOGIN CREATED_BY CREATION_DATE TITLE OBJECT_VERSION_NUMBER
931510 7-Nov-08 31-Dec-12 122 (null) (null) (null) 3978 1 (null) 14402 (null) 220150 (null) 734956 (null) (null) 476 (null) (null) (null) (null) 2 E Y (null) 100035417-2 (null) (null) (null) 45948739 (null) (null) (null) (null) (null) (null) (null) 868007 (null) (null) (null) (null) 449 (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null)
797386 26-Aug-08 26-Aug-08 122 (null) (null) (null) 3980 3 (null) 14402 (null) 218925 (null) 734956 (null) (null) 476 (null) (null) (null) (null) 1 E Y (null) 100035417 (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) 740071 (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null)
916076 26-Aug-08 31-Dec-12 122 (null) (null) (null) 3980 1 4 14402 (null) 218925 (null) 734956 (null) (null) 476 (null) (null) (null) (null) 1 B Y (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null)
797386 25-Feb-08 25-Aug-08 122 (null) (null) (null) 3980 1 (null) 14402 (null) 218925 (null) 734956 (null) (null) 476 (null) (null) (null) (null) 1 E Y (null) 100035417 (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) 740071 (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) (null) -
How to find out the Number range object for Incident number
How to find out the Number range object for Incident number ?
CCIHT_IAL-IALID
regards,
lavanyaHI, an example.
data: vl_num type i,
vl_char(6) type c,
vl_qty type INRI-QUANTITY,
vl_rc type INRI-RETURNCODE.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
NR_RANGE_NR = '01'
OBJECT = 'ZRG0000001'
QUANTITY = '1'
SUBOBJECT = ' '
TOYEAR = '0000'
IGNORE_BUFFER = ' '
IMPORTING
NUMBER = vl_num
QUANTITY = vl_qty
RETURNCODE = vl_rc
EXCEPTIONS
INTERVAL_NOT_FOUND = 1
NUMBER_RANGE_NOT_INTERN = 2
OBJECT_NOT_FOUND = 3
QUANTITY_IS_0 = 4
QUANTITY_IS_NOT_1 = 5
INTERVAL_OVERFLOW = 6
BUFFER_OVERFLOW = 7
OTHERS = 8
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
vl_char = vl_num.
write vl_char.
Regard -
How to find out the Idoc number triggered for any material transfer frm SAP
Hi Folks,
Can any body let me know How to find out the Idoc number triggered for any material transfer frm SAP?
Do we have any navigation for that in MM03?
Thanks,
SPMD.Hi Shabbirmdpasha,
If you know the user name then you can find the idoc numbers created by that user. But the problem here is it not only gives the material it gives all the idocs created by that user. Go to SE16 --> table name EDIDS --> here you can fill the approximate date and in UNAME give the userid and execute. This will give all the idocs created by that user. I know it is only a partial solution.
Also would suggest to post the same in abap forums for more answers:
ABAP Development
Regards,
---Satish -
How to find out the last time login for a locked login account?
In ASE 15.4,there are many login account show as locked and unlocked. How to find out the last login time for those locked login account?
Thank you. The version of my ASE is 12.5.4.
This is what I got from select * from syslogins:
suid status accdate totcpu totio spacelimit timelimit resultlimit dbname name password language pwdate audflags fullname srvname logincount procid
1
30 2 10/25/2012 11:41:10.430 AM 0 0 0 0 0 . . ... us_english 02/24/2.0.08 12:55:38.640 PM 0 [NULL] [NULL] [NULL] [NULL]
this is what I got from exec sp_displaylogin 'mylogin':
1 Suid: 46
2 Loginame: mylogin
3 Fullname: FN LN
4 Default Database: mydb
5 Default Language: us_english
6 Auto Login Script:
7 Configured Authorization:
8 Locked: YES
9 Date of Last Password Change: Apr 17 2010 2:36PM
10 Password expiration interval: 0
11 Password expired: NO
12 Minimum password length: 6
13 Maximum failed logins: 0
14 Current failed login attempts:
15 Authenticate with: AUTH_DEFAULT
which one is for last login time? -
How to find out relevant Infosources and Infocubes for Datasources (LO)
Hi Gems,
I am new to BW.
How to find out relevant Infosources and Infocubes for Datasources for LO Cockpit
any help site pls.
Thanks in advance1. make sure that your datasources have activated (trans RSA5 in SAP Source System) from the SAP Source system (Ex: R/3 or SCM System)
2. after that you have to run trans RSA9 in SAP Source System to transfer new datasource in to BI System.
3. log-on into BI System, run trans RSA1, choose SourceSystem Tab in the left panel. Right click on to your SAP Source System then choose <b>Replicate</b>.
4. in the left panel choose BI Content tab, select infoObjects by infoArea.
5. then Click on Grouping, select in <b>Dataflow Before and afterward</b>. Click Collection Mode, select Collect Automatically.
6.in the middle panel, expand "Supply Chain Management" infoArea, select both <b>Characteristics: Logistics General</b> and <b>Key Figures: Logistics General</b>. Right click on it and select <b>Insert Objects for Collections</b>.
7. After the objects have been inserted into Collected Objects then choose install with option Install in Background.
8. Wait for the result.
<b>Pls give point if you see its helpful.</b>
Regards,
Chuong Hoang -
how to find out my four number password for iphone4, how to find out my four number password for iphone4
There is no way to find out your four number password for your iPhone. If there were there would be no point in having a passcode. You can reset the phone as described here: http://support.apple.com/kb/HT1212.
There is no way to find out your four number password for your iPhone. If there were there would be no point in having a passcode. You can reset the phone as described here: http://support.apple.com/kb/HT1212. -
How in ColdFusion with in variables get a Oracle stored procedure to return values?
How in ColdFusion with in variables get a Oracle stored procedure to return values?
We have tried several things, we can get a stored procedure to return a result set if we are not passing in variables but we cannot get them when we are passing in variables.
We know how to do it calling MS SQL.
Thanks for any help,
Nathan Sr
P.S. we have heard this may not be possible with the current Oracle Driver is there a different Oracle driver?I can only barely understand what you're asking here (not from a technical perspective, but from understanding your written English), but I suspect you're wanting to know how to pass back values other than recordsets from Oracle?
You should be able to pass them back via a type=out proc param, shouldn't you?
If you could reword your post so it's a bit more coherent, and possibly post some code, that might help.
Adam -
How to check performance for Stored procedure or Package.
Hi ,
Can any one please tell me , how to check performance for Stored procedure or Function or Package
Thanks&Regards,
Sanjeev.user13483989 wrote:
Hi ,
Can any one please tell me , how to check performance for Stored procedure or Function or Package
Thanks&Regards,
Sanjeev.Oracle has provided set of Tools to monitor the Performance.
Profilers being one of them; If you wish to understand more on PL/SQL Optimization, please read PL/SQL Optimization and Tuning.
See example of DBMS_PROFILER.
See example of PLSQL Hierarchial Profiler -
How to use @prompt for stored procedure in universe
Hi,
I am using Bo XI R3.1 and universe was built on stored procedures and database is sql server 2005.
I would like to show the list of values for prompts in report which they are based on parameters given for stored procedures in universe. Instead of typing the value for prompts the user should select some values for the prompt.
I've tried in the universe putting the prompt syntax but didn't work could any one please let me know how this will be achived
Thanks in advance,
EswarHi Eswar,
Please try the following steps mentioned below:
1. Go to Insert -> click Tables and Import the table which needs to assign LOVu2019s into Universe panel.
Objects which are created on tables may appear in inactive mode.
2. Right click on the stored procedure -> Click on Edit stored procedures.
3. Click on the Browse universe objects from Stored Procedure Editor. (Button avaial on the left)
4. Select the object which you want to assign for the List of values.
5. Enter the desired text which you want to display in the WebI reports in the Edit prompt Label.
6. Export the Universe.
Before doing the above steps:
While creating for SP Univ, a parameter screen appears after selecting SP. In the "Value" field enter a dummy value and
from the "Next Execution" drop down at the right select "Prompt me for a value".
Regards,
Rohit -
How to find out that a record is empty or null
hi
how can i find out that a record is empty or null.
in other languages when a object or record is not initialized it will be null.
after initialization how can i find out its values are null. so far i tried this
declare
v_r_emp emp%rowtype := null;
BEGIN
if (v_r_emp is null) then
dbms_output.put_line('record is not initialized');
end if;
END;
it seems in plsql we can assign null but cannot compare it with null clause why? if we are able of assign null we must should about to compare it with null too.
also how record can be made empty. how can we find out that a record variable is empty
please help me to understand the concept
thanksYou need to check every element in the record.
Maybe you are looking for
-
I have searched high and low for a fix for this that works, but have yet to find anything. I have a Gateway laptop running Win8.1. As it is a laptop, I have absolutely no need for the on screen keyboard. However, there is no way that I have found to
-
Why is my swf exporting as a small blank file?
I am very new to After Effects. I created an animated banner with text effects, images and movie files. It is 1 minute long. I am trying to export this to an SWF so I can add dynamic links in Flash. When the file had less layers, it rendered and
-
Clicked articles won't open up.
Clicked on "Storms to hit major U.S. cities. Window opens, but video screen remains a black bar across the bottom. It seems to be happening more often.
-
Error message when trying to receive messages
hi i am unable to send or receive messages. when trying to send an email i get this message: 'An error occurred sending mail: The mail server sent an incorrect greeting: Cannot connect to SMTP server 213.8.196.24 (213.8.196.24:25), NB connect error 1
-
Old fonts from System 7 & Mac OS 8 & OS 9: Safe to install in 10.6.4?
I've been accumulating fonts for years and years. I recently got a new MacBook Pro and it's now running 10.6.4. I still have, backed up on an external drive, hundreds of freeware, shareware and pro-level fonts which I acquired way back in the distant