Execute the show_employees procedure through a URL
Hey! All
I have created simple.psp file:=>
<%@ page language="PL/SQL" %>
<%@ page contentType="text/html" %>
<%@ plsql procedure="show_employees" %>
<%-- This example displays the last name and first name of every
employee in the hr.employees table. --%>
<%!
CURSOR emp_cursor IS
SELECT last_name, first_name
FROM hr.employees
ORDER BY last_name;
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html">
<title>List of Employees</title>
</head>
<body TEXT="#000000" BGCOLOR="#FFFFFF">
<h1>List of Employees</h1>
<table width="40%" border="1">
<tr>
<th align="left">Last Name</th>
<th align="left">First Name</th>
</tr>
<% FOR emp_record IN emp_cursor LOOP %>
<tr>
<td> <%= emp_record.last_name %> </td>
<td> <%= emp_record.first_name %> </td>
</tr>
<% END LOOP; %>
</table>
</body>
</html>
2. D:\>loadpsp -replace -user hr/hr E:\OracleBestPractices\OraclePLSQL\simple.psp
"E:\OracleBestPractices\OraclePLSQL\simple.psp": procedure "show_employees" crea
ted.
3.Browser users can execute the show_employees procedure through a URL.But how? Please guide me .
Thanks in Advance
Prashansh
This is the forum for Oracle's SQL Developer tool, not for general SQL and PL/SQL questions.
You need some kind of application server. At the simplest level this could just be oracle's HTTP server with the PL/SQL gateway.
Is there no instruction in the book you are using for setting up the gateway?
You could try the General Database Discussions forum, or the Oracle Application Server - General forum.
Similar Messages
-
Error while executing the stored procedure through sender JDBC adapter
Hi All,
I am getting below error while executing the stored procedure through sender JDBC adapter.
Database-level error reported by JDBC driver while executing statement 'exec SapgetNextEntity 'SalesOrder''. The JDBC driver returned the following error message: 'com.microsoft.sqlserver.jdbc.SQLServerException: The statement did not return a result set.'. For details, contact your database server vendor.
what is the problem? any idea to anyone...
regards
Rameshhi Dharamveer,
I am not getting below statement for your reply
Try to use Refrence Cursor it will return u reference of resultset.
I mention SP like this
exec SapgetNextEntity 'SalesOrder'
SapgetNextEntity -
> SP Name
SalesOrder----
> Parameter I am passing...
regards
Ramesh -
Accessing a Procedure through an URL - Urgent
I am trying to access a procedure through an URL.
I was trying to use the following address
http://myserver.com/pls/portal30/OWNER.procedure_name
which fails.
Please help me
Thanks in advanceHi,
If your server is linked to the internet, public is not the best grant to use.
Create a portal_user role or similar that you can grant to Oracle users that you want to be able to use the procedure.
At least then you have some control over who gets to run the procedure and they can be forced to log on!
Regards Michael -
How to execute oracle stored procedure through php as externally?
hi...
i am searching for the way that how to execute oracle stored procedure through web service, i am using php and mysql, i have some stored procedures in oracale database, i want to execute them, from php, means the database will be remain mysql, and the stored procedures of oracle will be executed externally...
Kind regards,
Wilayat.Ok, so first of all this is a kind of strange question. Since Oracle and MYSQL can happily live side by side.
Make sure you have the oracle client (instant or regular ) installed and OCI_8 is set up and working correctly in PHP. If it is, when you run the phpinfo() routine you will see oci_8 on there. IF PHP connects just fine from the command line yet apache wont connect check permissions and things like the LD_Library Path.
Then in php, right along with your MySQL statements run Oracle Statements eg:
<?php
$OraDB = oci_connect(name,pass,tnsname);
$MySQLdb = mysql_connect([parms]);
$oraQueryText = "begin sp_some_proc([some parms]); end;" ;
$mysqlQuery = " Some mysql Query";
$oraQuery = oci_parse($OraDB,$oraQueryText );
oci_execute($oraQuery);
mysql_execute([parms]);
?>
Use the standard fetch code to get data from either of them.
If you cannot and I mean absolutely cannot get an admin to link in OCI_8 then you still have recourse although it will be tedious as hell. PHP allows you to exec calls to the OS. You still MUST make sure the Oracle Client is installed and that sqlplus runs from the command line. You will more then likely have to have a shell script written to do this as well, but maybe not as I have never tried it with the exception of capturing the return value of sqlplus and you will have to dig into sqlplus to get it to send its results to a file you can then parse with php.
Good Luck! -
Error while executing the stored procedure
Hi All,
When I try to execute the store procedure .The store procedure does not have parameter. I am getting the following error. The store procedure has been successfully complied.
Thanks for all your help.
uday
ORA-01422: exact fetch returns more than requested number of rows
01422. 00000 - "exact fetch returns more than requested number of rows"
*Cause: The number specified in exact fetch is less than the rows returned.
*Action: Rewrite the query or change number of rows requestedHi All,
Here is the store proc and version. I do not have much exposure to pl sql store proc .
Thanks for all your support and help.
uday
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
"CORE 11.2.0.3.0 Production"
TNS for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
Here is the store proc .
create or replace
PROCEDURE TEST AS
R_REGION VARCHAR2(5);
R_listing2rifs_count number;
R_listing2rifs number;
listing2iag_count number; /* mentioned already: rp0428 */
listing2iag number;
R_rod2iag_count number;
R_rod2iagnumber;
R_rod2ra_count number;
R_rod2ra number;
begin
select Region,
sum(listing2rifs_count) as listing2rifs_count,
round((sum(listing2rifs) / sum(listing2rifs_count))/30.4,1) as listing2rifs,
sum(listing2iag_count) as listing2iag_count,
round((sum(listing2iag) / sum(listing2iag_count))/30.4,1) as listing2iag,
sum(rod2iag_count) as rod2iag_count,
round((sum(rod2iag) / sum(rod2iag_count))/30.4,1) as rod2iag,
sum(rod2ra_count) as rod2ra_count,
round((sum(rod2ra) / sum(rod2ra_count))/30.4,1) as rod2ra
into R_REGION,R_listing2rifs_count,R_listing2rifs,listing2iag_count,listing2iag,
R_rod2iag_count,R_rod2iag,R_rod2ra_count,R_rod2ra
from (select site.FK_REF_REGION_CODE Region,
site.site_id,
site.EPA_ID,
site.name site_name,
FEDERAL_FACILITY_DETER_CODE,
NPL_STATUS_CODE,
site.BRAC_TYPE_NAME,
sis.FT_FLAG,
listing_action,
rifs_action,
iag_action,
rod_action,
ra_action,
listing.ACTUAL_COMPLETION_DATE as listing_date,
iag.ACTUAL_COMPLETION_DATE as iag_date,
first_rifs.ACTUAL_START_DATE as first_rifs_start_date,
first_rod.ACTUAL_COMPLETION_DATE as first_rod_date,
ra_start.ACTUAL_START_DATE as first_ra_start_date,
case when first_rifs.ACTUAL_START_DATE is not null
and listing.ACTUAL_COMPLETION_DATE is not null
then 1
else 0
end as listing2rifs_count,
first_rifs.ACTUAL_START_DATE - listing.ACTUAL_COMPLETION_DATE as listing2rifs,
case when first_rifs.ACTUAL_START_DATE is not null
and listing.ACTUAL_COMPLETION_DATE is not null
then 1
else 0
end as listing2iag_count,
iag.ACTUAL_COMPLETION_DATE - listing.ACTUAL_COMPLETION_DATE as listing2iag,
case when first_rifs.ACTUAL_START_DATE is not null
and listing.ACTUAL_COMPLETION_DATE is not null
then 1
else 0
end as rod2iag_count,
iag.ACTUAL_COMPLETION_DATE - first_rod.ACTUAL_COMPLETION_DATE as rod2iag,
case when first_rifs.ACTUAL_START_DATE is not null
and listing.ACTUAL_COMPLETION_DATE is not null
then 1
else 0
end as rod2ra_count,
ra_start.ACTUAL_START_DATE - first_rod.ACTUAL_COMPLETION_DATE as rod2ra
from site
LEFT OUTER JOIN
(select fk_site_id,
SPECIAL_INITIATIVE_CODE as FT_FLAG
from SPECIAL_INITIATIVE_SITE sppi
where SPECIAL_INITIATIVE_CODE = 'FT'
) SIS
ON site.site_id = sis.fk_site_id
LEFT OUTER JOIN
(select fk_site_id,
TYPE_SEQUENCE_CODE as listing_action,
ACTUAL_COMPLETION_DATE
from action
where TYPE_CODE = 'NF'
and (ANOMALY_CODE is null or ANOMALY_CODE not in ('PC','PB','OA','OC','TO','TT'))
and ACTUAL_COMPLETION_DATE is not null
and TO_CHAR(action.ACTUAL_COMPLETION_DATE,'YYYYMMDD') || action.TYPE_SEQUENCE_CODE =
(SELECT min(TO_CHAR(ACTUAL_COMPLETION_DATE,'YYYYMMDD') || B.TYPE_SEQUENCE_CODE)
from action b
WHERE ACTION.FK_SITE_ID = b.FK_Site_ID
and b.TYPE_CODE = 'NF'
and b.ACTUAL_COMPLETION_DATE is not null
) listing
ON SITE.SITE_ID = LISTING.FK_site_id
LEFT OUTER JOIN
(select FK_site_id,
TYPE_SEQUENCE_CODE as rifs_action,
ACTUAL_START_DATE,
ACTUAL_COMPLETION_DATE
from action
where TYPE_CODE in ('NH','LW') /*('RI','NA','NH','FS','NK','NI','CO','BD','LW') */
and LEAD_CODE = 'FF'
and (ANOMALY_CODE is null or ANOMALY_CODE not in ('PS','PB','OA','OS','TN','TT'))
and ACTUAL_START_DATE is not null
and TO_CHAR(action.ACTUAL_START_DATE,'YYYYMMDD') || TYPE_SEQUENCE_CODE =
(SELECT min(TO_CHAR(ACTUAL_START_DATE,'YYYYMMDD') || B.TYPE_SEQUENCE_CODE)
from action b
WHERE ACTION.FK_SITE_ID = b.FK_Site_ID
and b.TYPE_CODE in ('NH','LW') /*('RI','NA','NH','FS','NK','NI','CO','BD','LW') */
and b.ACTUAL_START_DATE is not null
) first_rifs
ON site.site_id = first_rifs.FK_site_id
LEFT OUTER JOIN
(select FK_site_id,
TYPE_SEQUENCE_CODE as iag_action,
ACTUAL_COMPLETION_DATE
from action
where TYPE_CODE = 'FI'
and action.LEAD_CODE = 'FE'
and (ANOMALY_CODE is null or ANOMALY_CODE not in ('PC','PB','OA','OC','TO','TT'))
and ACTUAL_COMPLETION_DATE is not null
and TO_CHAR(action.ACTUAL_COMPLETION_DATE,'YYYYMMDD') || action.TYPE_SEQUENCE_CODE =
(SELECT min(TO_CHAR(ACTUAL_COMPLETION_DATE,'YYYYMMDD') || B.TYPE_SEQUENCE_CODE)
from action b
WHERE ACTION.FK_SITE_ID = b.FK_Site_ID
and b.TYPE_CODE = 'FI'
and b.ACTUAL_COMPLETION_DATE is not null
) iag
ON site.site_id = iag.FK_site_id
LEFT OUTER JOIN
(select FK_site_id,
TYPE_SEQUENCE_CODE as rod_action,
ACTUAL_COMPLETION_DATE
from action
where TYPE_CODE = 'RO'
and (ANOMALY_CODE is null or ANOMALY_CODE not in ('PC','PB','OA','OC','TO','TT'))
and ACTUAL_COMPLETION_DATE is not null
and TO_CHAR(action.ACTUAL_COMPLETION_DATE,'YYYYMMDD') || action.TYPE_SEQUENCE_CODE =
(SELECT min(TO_CHAR(ACTUAL_COMPLETION_DATE,'YYYYMMDD') || B.TYPE_SEQUENCE_CODE)
from action b
WHERE ACTION.FK_SITE_ID = b.FK_Site_ID
and b.TYPE_CODE = 'RO'
and b.ACTUAL_COMPLETION_DATE is not null
) first_rod
ON site.site_id = first_rod.FK_site_id
LEFT OUTER JOIN
(select FK_site_id,
TYPE_SEQUENCE_CODE as ra_action,
ACTUAL_START_DATE
from action
where TYPE_CODE = 'LY'
and (ANOMALY_CODE is null or ANOMALY_CODE not in ('PS','PB','OA','OS','TN','TT'))
and ACTUAL_START_DATE is not null
and TO_CHAR(action.ACTUAL_START_DATE,'YYYYMMDD') || action.TYPE_SEQUENCE_CODE =
(SELECT min(TO_CHAR(ACTUAL_START_DATE,'YYYYMMDD') || B.TYPE_SEQUENCE_CODE)
from action b
WHERE ACTION.FK_SITE_ID = b.FK_Site_ID
and b.TYPE_CODE = 'LY'
and b.ACTUAL_START_DATE is not null
) ra_start
ON site.site_id = ra_start.FK_site_id
WHERE site.FEDERAL_FACILITY_DETER_CODE = 'Y'
and site.NPL_STATUS_CODE in (/*'P',*/'F','D','A')
) durations
group by Region
order by 1;
end;
errors:
ORA-01422: exact fetch returns more than requested number of rows
01422. 00000 - "exact fetch returns more than requested number of rows"
*Cause: The number specified in exact fetch is less than the rows returned.
*Action: Rewrite the query or change number of rows requested -
Problem in executing the stored procedure
I am trying to execute the following procedure which is used to capture data from 4 different tables:
The table structure is as follows with the sample data:
AREA
======
area_id area_type preferred_name
A1 Country India
A2 State AP
A3 Country Finland
A4 State Finland's State
A5 Country USA
T_CREATE_STAGE
=============
we_name we_num country_nm state_nm operator
B1 C1 A1 A2 O1
B1 C2 A3 A4 O1
ASSOCIATE
==========
ba_name busi_associate
ABC O1
XYZ O2
The IN-Paremeters of the procedure takes the Country name & State name (Prefered Name in table AREA) Operator Name (ba_name in table ASSOCIATE), at a time at least one parameter would come as Input and that could also be a Wild Card search.
The problem is that in the following procedure the query is taking the first match and returning it infinite times. Please suggest a suitable way to run the query in the procedure so that it returns the appropriate result.
CREATE OR REPLACE PROCEDURE proc_new_search (
p_recordset OUT sys_refcursor,
countryName VARCHAR2 ,
stateName VARCHAR2 ,
opName VARCHAR2 ,
fieldName VARCHAR2
AS
BEGIN
DECLARE
BEGIN
OPEN p_recordset FOR 'select b.preferred_name,d.preferred_name,a.we_name,a.we_num,c.ba_name,'
|| 'a.fluid_type,e.preferred_name FROM T_CREATE_STAGE a, AREA b,AREA d,AREA e,ASSOCIATE c '
|| 'where (upper('''||countryName||''') IS NULL or instr(b.preferred_name, upper('''||countryName||''') ) > 0) AND a.country_nm = b.area_id AND b.area_type=''COUNTRY'' AND b.active_ind=''Y'''
||' AND (upper('''||opName||''') IS NULL or instr(c.ba_name,upper('''|| opName||''') ) > 0) AND a.operator = c.busi_associate'
||' AND (upper('''||stateName||''') IS NULL or instr(d.preferred_name,upper('''|| stateName ||''') ) > 0) AND a.province_state = d.area_id AND d.area_type=''STATE_PROVINCE'' AND d.active_ind=''Y'''
|| ' AND (upper('''||fieldName||''') IS NULL or instr(a.field, upper('''||fieldName||''' )) > 0) ';
END;
Thanks in advance,
Regards,
PriyaOK, I have extracted the SQL from the code you posted. I notice that there are FIVE tables in the FROM clause of the SQL:
FROM T_CREATE_STAGE a,
AREA b,
AREA d,
AREA e,
ASSOCIATE cwhereas there are only THREE join-conditions joining FOUR tables [5th table AREA e has not been joined with any of the tables]:
/* other conditions in the WHERE clause are filters, not table joins */
AND a.country_nm = b.area_id
AND a.operator = c.busi_associate
AND a.province_state = d.area_idIn order to get valid expected result from a query involving FIVE tables, at least FOUR joins are required. *[ in a query involving N tables, at least N-1 joins are required ]*. Otherwise, the result will have duplication and hence will not be valid/as-expected.
So add a join involving AREA e table with other(s) and see if this improves the result.
HTH -
How to execute the packaged procedure(having out param) in TOAD for Oracle
Hi.
Could you help me
How to execute the packaged procedure having out parameters in TOAD for Oralce..
Thanks..Use anonymous PL/SQL block to execute it.
Example.
DECLARE
<out variable name> <out variable data type>;
BEGIN
<package name>.<procedure name>(<out variable name>);
END; -
Help required in executing the stored procedure and capturing the responce
Hi,
I have to execute a stored procedure in oracle database and if it successful then have to create a status IDOC.
The stored procedure may throw an exception(it is not an out parameter), in such cases i should capture the exception as part of the response message and send this information while creating the status IDOC.
i would like if the below is possible.
As the stored procedure is not returning( this means if you execute the procedure manually it will display the result), will it be possible to capture the result which has the exception details?
any direction to this will be highly appreciated.
Many thanks.
Regards,
Rahul@Bhaskar,
i need to execute the procedure by sending the input data from a file and capture the result after executing the procedure to create a status idoc
im not sure how the provided links helps me here.
i m not looking for any look ups. i would like to know is there any way that we can capture the result after executing the database procedure?
Edited by: Rahul_10416 on Dec 5, 2011 10:07 PM -
Find the user that executed the SQL procedure
We are using Oracle 10g R2 on Linux.
I want to know the OS user that executed the purging procedure (PURGE). For this, i am using the following query which is not returning any row:
select *
from DBA_HIST_ACTIVE_SESS_HISTORY ash, DBA_HIST_SQLTEXT s
where ASH.SQL_ID = s.SQL_ID
and UPPER(s.SQL_TEXT) like '%PURGE%';Is the above query fine?Moazzam wrote:
We are using Oracle 10g R2 on Linux.
I want to know the OS user that executed the purging procedure (PURGE). For this, i am using the following query which is not returning any row:Since what you are doing to get the user indirectly is not working would another approach be helpful?
Since you want to know who is running the procedure would a log table you could insert into at the start or end of the procedure help, to store the information you are interesting in seeing?
Or, can you get the information you want from other system views? V$SESSION has the OSUSER column as well as SQL_ID and other join columns for other views (like V$SQL). -
how to use ADO(Microsoft ActiveX Data Objective 2.8 Library) to execute the store procedure of database in SQL server?
Does any body can tell me about this?
thanks
[email protected]Hi
Did you succeed to execute the procedure?
How ?
Thanks
Shimon Zerbib -
Error while executing Multiple Stored Procedure through .sql file
Hi Guru's.
I am new to ORACLE. I am facing problem while creating Stored Procedure through .sql file.
I have one test.sql file with Stored Procedure is like,
CREATE OR REPLACE PROCEDURE skeleton1
AS
BEGIN
DBMS_Output.Put_Line('skeleton1');
END skeleton1;
CREATE OR REPLACE PROCEDURE skeleton2
AS
BEGIN
DBMS_Output.Put_Line('skeleton2');
END skeleton2;
Now when i try to execute this test.sql file through SQL PLUS it gives me Error like this
I am opening test.sql file from SQL PLUS,
SQL>
1 CREATE OR REPLACE PROCEDURE skeleton1
2 AS
3 BEGIN
4 DBMS_Output.Put_Line('skeleton1');
5 END skeleton1;
6 /
7 CREATE OR REPLACE PROCEDURE skeleton2
8 AS
9 BEGIN
10 DBMS_Output.Put_Line('skeleton2');
11* END skeleton2;
SQL> /
Warning: Procedure created with compilation errors.
SQL> show errors;
Errors for PROCEDURE SKELETON1:
LINE/COL ERROR
6/1 PLS-00103: Encountered the symbol "/"
SQL>
Please suggest how to create multiple CREATE PROCEDURE using single .sql script file....
Regards,
ShatrughanHi,
Try this
CREATE OR REPLACE PROCEDURE skeleton1
AS
BEGIN
DBMS_Output.Put_Line('skeleton1');
END ;
CREATE OR REPLACE PROCEDURE skeleton2
AS
BEGIN
DBMS_Output.Put_Line('skeleton2');
END;
/Save the file and call it.
Regards,
Bhushan -
Executing the stored procedure with output which is a collection of objects
Hello,
I have the objects and collection of objects within an objects as below:
CREATE OR REPLACE TYPE SHARE_OUTST_T
AS OBJECT
SHR_OUTST_AMT number
CREATE OR REPLACE TYPE SECURITY_T
AS OBJECT
VOTE_PER_SHR number
, CUSIP varchar2(12)
, EXCHANGE varchar2(10)
, IV_TYPE_CD varchar2(10)
, SEC_TICKER_SYMB varchar2(20)
CREATE OR REPLACE TYPE ALTERNATE_ID_T
AS OBJECT
( ALT_ID_TYPE varchar2(20)
CREATE OR REPLACE TYPE ISSUE_MAINT_VERSION_T
AS OBJECT
IM_KEY_ID number
, IM_VER_NUM number
, EFF_TMSTMP timestamp
, EXP_TMSTMP timestamp
, NEXT_REVIEW_TMSTMP timestamp
, APPR_STATUS_REF_ID number
, VOTE number
, ADD_USR_ID varchar2(20)
, ADD_TMSTMP timestamp
, UPD_USR_ID varchar2(20)
, UPD_TMSTMP timestamp
, LOCK_LEVEL_NUM number
, ACTION VARCHAR2(1)
CREATE OR REPLACE TYPE ISSUE_SHARE_MAINT_T
AS OBJECT
IM_KEY_ID number
, IM_VER_NUM number
, SHR_OUTST_AMT number
, CURR_OUTST_AMT number
, ADD_USR_ID varchar2(20)
, ADD_TMSTMP timestamp
, UPD_USR_ID varchar2(20)
, UPD_TMSTMP timestamp
, LOCK_LEVEL_NUM number
, ACTION VARCHAR2(1)
CREATE OR REPLACE TYPE ISSUE_MAINT_COMMENT_T
AS OBJECT
IM_KEY_ID number
, IM_VER_NUM number
, COMMENT_TXT varchar2(400)
, ADD_USR_ID varchar2(20)
, ADD_TMSTMP timestamp
, UPD_USR_ID varchar2(20)
, UPD_TMSTMP timestamp
, LOCK_LEVEL_NUM number
, ACTION VARCHAR2(1)
CREATE OR REPLACE TYPE ISSUE_MAINT_COMMENT_COL_T AS TABLE OF ISSUE_MAINT_COMMENT_T;
CREATE OR REPLACE TYPE ISSUE_VERSION_T
AS OBJECT
SHARE_OUTST SHARE_OUTST_T
, SECURITY SECURITY_T
, ALTERNATE_ID ALTERNATE_ID_T
, ISSUER ISSUER_T
, ISSUE_MAINT_VERSION ISSUE_MAINT_VERSION_T
, ISSUE_SHARE_MAINT ISSUE_SHARE_MAINT_T
, ISSUE_MAINT_COMMENT_COL ISSUE_MAINT_COMMENT_T
CREATE OR REPLACE TYPE ISSUE_VERSION_COL_T AS TABLE OF ISSUE_VERSION_T;
And the stored procedure as :
=======================================
PROCEDURE get_all_issue_version_col
( pv_issue_version_col OUT issue_version_col_t
AS
CURSOR cur_issue_version
IS
SELECT
issue_version_t (
SHARE_OUTST_T (so.shr_outst_amt )
, SECURITY_T ( s.vote_per_shr
, s.sec_cusip
, s.PRI_MKT_EXCH_CD
, s.IV_TYPE_CD
, s.SEC_TICKER_SYMB )
, ALTERNATE_ID_T (a.ALT_ID_TYPE)
, ISSUER_T (i.ISSR_ID )
, ISSUE_MAINT_VERSION_T (imv.im_key_id
, imv.im_ver_num
, imv.eff_tmstmp
, imv.exp_tmstmp
, imv.next_review_tmstmp
, imv.appr_status_ref_id
, imv.vote
, imv.add_usr_id
, imv.add_tmstmp
, imv.upd_usr_id
, imv.upd_tmstmp
, imv.lock_level_num
, NULL )
, ISSUE_SHARE_MAINT_T (ism.im_key_id
, ism.im_ver_num
, ism.shr_outst_amt
, ism.curr_outst_amt
, ism.add_usr_id
, ism.add_tmstmp
, ism.upd_usr_id
, ism.upd_tmstmp
, ism.lock_level_num
, NULL)
, ISSUE_MAINT_COMMENT_T(imc.im_key_id
, imc.im_ver_num
, imc.comment_txt
, imc.add_usr_id
, imc.add_tmstmp
, imc.upd_usr_id
, imc.upd_tmstmp
, imc.lock_level_num
, NULL )
FROM
share_outst so
, security s
, alternate_id a
, issuer i
, issue_maintenance_version imv
, issue_share_maintenance ism
, issue_maintenance_comment imc
WHERE
s.sec_key_id = so.SEC_KEY_ID
and s.SEC_KEY_ID = a.SEC_KEY_ID
and s.MSTR_ISSR_KEY_ID = i.ISSR_KEY_ID
and s.SEC_CUSIP = imv.SEC_CUSIP (+)
and s.SEC_CUSIP = ism.SEC_CUSIP (+)
and imv.IM_KEY_ID = imc.IM_KEY_ID (+);
BEGIN
OPEN cur_issue_version ;
FETCH cur_issue_version BULK COLLECT INTO pv_issue_version_col ;
CLOSE cur_issue_version ;
END ;
PROCEDURE get_all_issue_col_v1
( pv_issue_version_col OUT NOCOPY issue_version_col_t
, pv_row_count IN number
, pv_issuer_id IN VARCHAR2
AS
CURSOR cur_issue_version
IS
SELECT
issue_version_t (
SHARE_OUTST_T (so.shr_outst_amt )
, SECURITY_T ( s.vote_per_shr
, s.sec_cusip
, s.PRI_MKT_EXCH_CD
, s.IV_TYPE_CD
, s.SEC_TICKER_SYMB )
, ALTERNATE_ID_T (a.ALT_ID_TYPE)
, ISSUER_T (i.ISSR_ID )
, ISSUE_MAINT_VERSION_T (imv.im_key_id
, imv.im_ver_num
, imv.eff_tmstmp
, imv.exp_tmstmp
, imv.next_review_tmstmp
, imv.appr_status_ref_id
, imv.vote
, imv.add_usr_id
, imv.add_tmstmp
, imv.upd_usr_id
, imv.upd_tmstmp
, imv.lock_level_num
, NULL )
, ISSUE_SHARE_MAINT_T (ism.im_key_id
, ism.im_ver_num
, ism.shr_outst_amt
, ism.curr_outst_amt
, ism.add_usr_id
, ism.add_tmstmp
, ism.upd_usr_id
, ism.upd_tmstmp
, ism.lock_level_num
, NULL)
, ISSUE_MAINT_COMMENT_T(imc.im_key_id
, imc.im_ver_num
, imc.comment_txt
, imc.add_usr_id
, imc.add_tmstmp
, imc.upd_usr_id
, imc.upd_tmstmp
, imc.lock_level_num
, NULL )
FROM
share_outst so
, security s
, alternate_id a
, issuer i
, issue_maintenance_version imv
, issue_share_maintenance ism
, issue_maintenance_comment imc
WHERE
s.sec_key_id = so.SEC_KEY_ID
and s.SEC_KEY_ID = a.SEC_KEY_ID
and s.MSTR_ISSR_KEY_ID = i.ISSR_KEY_ID
and s.SEC_CUSIP = imv.SEC_CUSIP (+)
and s.SEC_CUSIP = ism.SEC_CUSIP (+)
and imv.IM_KEY_ID = imc.IM_KEY_ID (+);
BEGIN
OPEN cur_issue_version ;
FETCH cur_issue_version BULK COLLECT INTO pv_issue_version_col ;
CLOSE cur_issue_version ;
END ;
====================
When I execute this stored procedure thru rapid sql, I get error
Error: ORA-06550: line 1, column 21:
PLS-00306: wrong number or types of arguments in call to 'GET_ALL_ISSUE_VERSION_COL'
ORA-06550: line 1, column 21:
PL/SQL: Statement ignored, Batch 1 Line 1 Col 21
What is that I am missing?
Any help would be greatly appreciated.I've never tried Rapid SQL, but my guess is that you can't pass objects through it. I'd write a test case on the server and try it there. It looks like it should work but I didn't build a test case. If it works on the server but not in the tool, it's like the tool. OCI8 doesn't support passing instantiated objects.
-
How to execute the packaged procedure
Hello i've written the following package: It's created fine but while running that procedure i'm getting the following error
create or replace package ttt_example as
TYPE ColumnsInfo IS RECORD (
columnName VARCHAR2 (30),
dataType VARCHAR2 (30)
TYPE ColumnsInfoList IS TABLE OF ColumnsInfo;
FUNCTION getColumns (
schemaName VARCHAR2,
tableName VARCHAR2
RETURN ColumnsInfoList;
PROCEDURE fillTable (
schemaName VARCHAR2,
tableName VARCHAR2
end;
create or replace package body ttt_example is
PROCEDURE fillTable (
schemaName VARCHAR2,
tableName VARCHAR2
) IS
i NUMBER;
columnsList ColumnsInfoList;
columnsStr VARCHAR2 (4000);
valList VARCHAR2 (4000) := NULL;
insertTime VARCHAR2 (100);
BEGIN
DBMS_OUTPUT.PUT_LINE ('fillTable - BEGIN');
columnsList := getColumns (schemaName, tableName);
i := columnsList.FIRST;
IF i IS NOT NULL THEN
columnsStr := columnsList (i).columnName;
i := columnsList.NEXT (i);
END IF;
WHILE i IS NOT NULL LOOP
columnsStr := columnsStr || ', ' || columnsList (i).columnName;
i := columnsList.NEXT (i);
END LOOP;
i := columnsList.FIRST;
WHILE i IS NOT NULL LOOP
IF i != columnsList.LAST THEN
IF columnsList (i).dataType = 'NUMBER' THEN
valList := valList || i || ', ';
ELSIF columnsList (i).dataType = 'VARCHAR2' THEN
valList := valList || '''' || i || '''' || ', ';
ELSIF columnsList (i).dataType = 'DATE' THEN
--EXECUTE IMMEDIATE 'SELECT TO_CHAR(SYSTIMESTAMP) FROM dual' INTO insertTime;
--valList := valList ||''''|| insertTime||''''|| ', ';
valList := valList || 'SYSDATE, ';
ELSE
DBMS_OUTPUT.PUT_LINE ('WRONG DATA TYPE ' || columnsList (i).dataType);
END IF;
ELSE
IF columnsList (i).dataType = 'NUMBER' THEN
valList := valList || i;
ELSIF columnsList (i).dataType = 'VARCHAR2' THEN
valList := valList || '''' || i || '''';
ELSIF columnsList (i).dataType = 'DATE' THEN
--EXECUTE IMMEDIATE 'SELECT TO_CHAR(SYSTIMESTAMP) FROM dual' INTO insertTime;
--valList := valList ||''''|| insertTime||'''';
valList := valList || 'SYSDATE';
ELSE
DBMS_OUTPUT.PUT_LINE ('WRONG DATA TYPE ' || columnsList (i).dataType);
END IF;
END IF;
i := columnsList.NEXT (i);
END LOOP;
DBMS_OUTPUT.PUT_LINE ('fillTable - MIDDLE');
EXECUTE IMMEDIATE 'INSERT INTO ' || tableName || '(' || columnsStr || ') VALUES (' || valList || ')';
DBMS_OUTPUT.PUT_LINE ('fillTable - END');
END;
FUNCTION getColumns (
schemaName VARCHAR2,
tableName VARCHAR2
RETURN ColumnsInfoList IS
columnsList ColumnsInfoList;
BEGIN
DBMS_OUTPUT.PUT_LINE ('getColumns - BEGIN');
EXECUTE IMMEDIATE 'SELECT COLUMN_NAME, DATA_TYPE FROM ALL_TAB_COLUMNS WHERE OWNER = ''' || schemaName || ''' AND TABLE_NAME = ''' || tableName || ''''
BULK COLLECT INTO columnsList;
DBMS_OUTPUT.PUT_LINE ('getColumns - END');
RETURN columnsList;
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
end;
/ While executing that package procedure
SQL> begin
2 ttt_example.fillTable('TEST','EMPE');
3 end;
4 /
begin
ERROR at line 1:
ORA-00928: missing SELECT keyword
ORA-06512: at "ttt.TTT_EXAMPLE", line 60
ORA-06512: at line 2help me in thisI was able to reproduce with NULL for columnstr;
create table t (c1 varchar2(20), c2 varchar2(20));
Table created
create or replace procedure p
tablename varchar2,
columnsstr varchar2,
vallist varchar2
) is
begin
execute immediate 'INSERT INTO ' || tablename || '(' || columnsstr ||
') VALUES (' || vallist || ')';
end;
Procedure created
exec p('t', 'c1,c2', '''a'',''b''');
PL/SQL procedure successfully completed
select * from t;
C1 C2
a b
exec p('t', '', '''a'',''b''');
begin p('t', '', '''a'',''b'''); end;
ORA-00928: missing SELECT keyword
ORA-06512: at "MSCALLION.P", line 8
ORA-06512: at line 2 -
Executing the top command through Java in linux
I am trying to execute the top command in Java as
Runtime.getRuntime().exec("top -n 1 >a.log");
But the command is not working in linux only through java.When i run the same command through the prompt it is working fine.Also all other commands are working fine.Is there any issue with top in linux?flounder wrote:
Try reading [this article|http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html]. If it does not answer your problem then try seaching for other similar articles.
The cited article does provide an answer to the problem since it explains how the shell meta character '>' must be interpretted by a shell. The code as presented does not invoke a shell. -
Can not able to save the data while executing the package/procedure
Hi,
I created one package and schedule this in JOB, job is running successfully but data is not inserting in table,
CREATE OR REPLACE package body LST_RPT as
procedure gender_proc(gender varchar2) is
begin
insert into gender_count
select * from mag_hotline_gender;
end;
end LST_RPT;
after that I am executing this
exec MSREUL.MKE_LST_RPT.gender_proc('M');
but it is not saving the data
can anybody suggest where I am doiing mistakeHi Arun,
Thanks for the suggestion.
I checked my table structure, gender_count was GTT(global temporary table), Now I changed the structure package is executing sucessfully and able to commit the data
exec MKE_LST_RPT.gender_proc('M');
commit;
can you plz help on another point I want to schedule this package on job means it runs on every day and commit automatically, I am using TOAD but unable to create job can you plz help on this issue.
Maybe you are looking for
-
Before proceeding you must first launch adobe acrobat and accept the end user license agreement
Our situation is as follows: - We have 300 + computers with both Acrobat Pro and Reader installed - When Acrobat and Reader are installed, and our users try to open a .pdf file using Internet Explorer, they are prompted to launch Acrobat and accept t
-
Can connect to internet, but software can't find base station
I bought the Airport express a few months ago to use with my stereo and IBM laptop. It took me a few tries to get it initially installed properly, but eventually did and everything worked great. A month or so ago I noticed that the tab to select "rem
-
Itunes error. Download error. tap to retry
I recently bought Inception on my Ipod touch and it went through processing but once it came to downloading it came with the message "download error. tap to retry" I've done it off and on for 3 days and nothing works. Please help.
-
CPI2.0 RSL #2032 error while adding NAM Datasources
Hello, Despite implemented the RSL-Flash Patch allready, I get into this error when trying to add NAM Datasources at Administration > System Settings > Data Sources after having the HTTPS credentials for the NAM's configured. The RSL-Flash Patch was
-
Did latest security update, now emac won't start
Hello, please help. I'm only have one mac, so I'm desperate. I have an emac running os 10.4. I just performed the latest security update (and itunes and quicktime) now the mac won't start. I get to the apple logo and the spinning/loading icon and it