How to edit stored procedure from sqlplus ?
Hi,
Can anyone advise how to edit stored procedure from sqlplus ?
Many thanks.
You can get the source for an object from SQL*Plus by querying the user_source table, i.e.
SQL> create procedure foo
2 as
3 begin
4 dbms_output.put_line( 'foo' );
5 end;
6 /
Procedure created.
SQL> select text
2 from user_source
3 where name = 'FOO'
4 order by line;
TEXT
procedure foo
as
begin
dbms_output.put_line( 'foo' );
end;Most commonly, though, if you are using SQL*Plus and a text editor to develop stored procedures, you will have all your stored procedures in .sql files that you edit and just use SQL*Plus to create (or recreate) the stored procedures.
Justin
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC
Similar Messages
-
How to call stored procedure from Pro*C
How to call stored procedure from Pro*C ?
my system spec is SuSE Linux 9.1, gcc version : 3.3.3, oracle : 10g
my Pro*C code is the following..
EXEC SQL EXECUTE
begin
test_procedure();
end;
END-EXEC;
the test_procedure() has a simple update statement. and it works well in SQL Plus consol. but in Pro*C, there is a precompile error.
will anybody help me what is the problem ??I'm in the process of moving C files (with embedded SQL, .PC files) from Unix to Linux. One program I was trying to compile had this piece of code that called an Oracle function (a standalone), which compiled on Unix, but gives errors on Linux:
EXEC SQL EXECUTE
BEGIN
:r_stat := TESTSPEC.WEATHER_CHECK();
END;
END-EXEC;
A call similar to this is in another .PC file which compiled on Linux with no problem. Here is what the ".lis" file had:
Pro*C/C++: Release 10.2.0.1.0 - Production on Mon Jun 12 09:26:08 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Error at line 193, column 5 in file weather_check.pc
193 BEGIN
193 ....1
193 PCC-S-02346, PL/SQL found semantic errors
Error at line 194, column 8 in file weather_check.pc
194 :r_stat := TESTSPEC.WEATHER_CHECK();
194 .......1
194 PLS-S-00000, Statement ignored
Error at line 194, column 18 in file weather_check.pc
194 :r_stat := TESTSPEC.WEATHER_CHECK();
194 .................1
194 PLS-S-00201, identifier 'TESTSPEC.WEATHER_CHECK' must be declared
Pro*C/C++: Release 10.2.0.1.0 - Production on Mon Jun 12 09:26:08 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
System default option values taken from: /oracle_client/product/v10r2/precomp/ad
min/pcscfg.cfg
Error at line 194, column 18 in file weather_check.pc
:r_stat := TESTSPEC.WEATHER_CHECK();
.................1
PLS-S-00201, identifier 'TESTSPEC.WEATHER_CHECK' must be declared
Error at line 194, column 8 in file weather_check.pc
:r_stat := TESTSPEC.WEATHER_CHECK();
.......1
PLS-S-00000, Statement ignored
Semantic error at line 193, column 5, file weather_check.pc:
BEGIN
....1
PCC-S-02346, PL/SQL found semantic errors -
How to call stored procedures from EF 6.1.3
Hi
I need to create many reports and I wanna use SPs, with parameters, the question is how to use it from ntity Framework CodeFirst ? I am using EF 6.1.3
I 've found examples using EF but not EF CF, any sample please ?
thanks in advance
Salu2 Sergio TYou create a type to return and pass it as a type...
Like this:
http://stackoverflow.com/questions/20901419/how-to-call-stored-procedure-in-entity-framework-6-code-first
context.Database.SqlQuery<YourEntityType>("storedProcedureName",params);
ps
That was pretty easy to google, by the way.
And... it's not really wpf.
Shrug.
Hope that helps.
Recent Technet articles: Property List Editing;
Dynamic XAML -
How to view stored procedure using SQLPlus
I have created the following stored procedure in Oracle, I would like to know how to view this stored procedure using SQLPlus:
CREATE PROCEDURE get_product_code(prod_no IN VARCHAR2) IS
CURSOR Getno IS
<my_query_goes_here>
BEGIN
For Getno_cur IN Getno LOOP
DBMS_OUTPUT.PUT_LINEGetno_cur.name);
END LOOP;
END;
run;Hi,
You can also use USER_SOURCE in place of ALL_SOURCE, for getting your own procedure code (or any pl/sql schema object).
Regards -
XSQL: how to invoke stored procedure from XSQL
Any one has example on how to invoke stored procedure within XSQL with associated *.xsl? What the syntax looks like? Thanks.
If you want to simply invoke a stored procedure, use:
<xsql:dml>
begin
proc(args);
end;
</xsql:dml>
If you want to return XML that your stored procedure "prints" to the OWA page buffer, then use:
<xsql:include-owa>
If you want to invoke a stored function that returns a REF CURSOR function, then use <xsql:ref-cursor-function>
null -
How to run a stored procedure from sqlplus
scehma name: aa
package name: bb
procedure name : cc
I run the procedure from sql plus like this...
execute aa.bb.cc
I got error " not defined procedure" any one knows why? thanks!Based on the information you provided:
1. You are not connected as Schema aa
2. Schema aa has not granted permission to you to execute package bb.
To resolve this issue:
Connect as schema aa
execute following statement:
Grant execute on bb to Your_userName;connect as Your_userName
On SQL*Plus prompt now you can execute this procedure using:
execute aa.bb.cc;Assuming there is no parameter for procedure cc.
You can create synoyms also to avoid specifying "aa".
Thanks,
Dharmesh Patel -
How to execute stored procedure in sqlplus
i have procedure something like this
create or replace "gettimeslots"
v_acc in varchar,
slot_cursor in out sys_refcursor
as
begin
open slot_cursor for
select * from tslots where tid=v_acc;
end
how to execute this proc in sqlplus?please help in this regardAs you perfectly know (since you're a member for more than a year now) you could have looked that up via google or the forum search. Just one link for you:
SQLPLUS in Morgan's Library! -
How to call stored procedure from javascript? (about Google Suggest, AJAX)
Hi I want to implement a text field so that it behaves like [Google Suggest|http://www.google.com/webhp?complete=1&hl=en] .
I read this post .
Now I've setup everything according to that document. But it just doesn't work. And I don't know why.
I think problems may fall into the following three categories:
1. Does the text field and the page invoke the proper javascript?
2. Does the javascript successfully call the stored procedure?
3. Can the stored procedure correctly return the formatted result?
I am affirmative for 1 and 3, but I'm not sure about 2. Because I don't know how to tell if a stored procedure has been called? Is there a PL/SQL statement that I can query in SQL*Plus?
Also, I would to know how to debug AJAX in APEX. It involves many things.
Last, I used APEX 3.2 and Oracle XE. I cannot find either dads.conf or marvel.conf file. Is "/apex/" the virtual directory for APEX?
Thanks a lot!Hello,
I recently also ran into problems with this and I will post my solution here:
1) if you need to pass parameters to your procedure, create it using "Flexible Parameter Passing". Then parse the parameters out of the array and put them in local variables inside your PL/SQL procedure.
Example:
CREATE OR REPLACE PROCEDURE MATTHIASH.incsearch(name_array IN owa.vc_arr,
value_array IN owa.vc_arr) as
l_List1 varchar2(4000);
l_List2 varchar2(4000);
l_query varchar2(255);
l_separator varchar2(10) default '';
qu varchar2(4000) default '';
hl varchar2(4000) default '';
BEGIN
FOR i IN 1 .. name_array.COUNT
LOOP
IF name_array(i) = 'qu' THEN
qu := value_array(i);
ELSIF name_array(i) = 'hl' THEN
hl := value_array(i);
END IF;
END LOOP;
l_query := qu||'%';
FOR x IN (
select object_name, object_id from user_objects
where upper(object_name) like upper(l_query) and upper(object_type) = upper(hl) order by 1 asc)
LOOP
l_list1 := l_List1 || l_separator || '"' || x.object_name || '"';
l_list2 := l_List2 || l_separator || '"' || x.object_id || '"';
l_separator := ',';
END LOOP;
owa_util.mime_header('text/html', false);
owa_util.http_header_close;
--htp.p('sendRPCDone(frameElement, "'|| qu ||'", new Array(' || l_List1 || '), new Array(' || l_List2 || '), new Array(""));');
htp.p('sendRPCDone(frameElement, "' || qu || '", new Array(' || l_List1 || '), new Array(' || l_List2 || '), new Array(""));');
END;
/2) grant EXECUTE rights to APEX_PUBLIC_USER (the user APEX uses to connect to the database) on the procedure
grant execute on incsearch to apex_public_user;3) upload the ac.js file as static file to your application
4) put the following javascript code in the HTML Header of your APEX page:
<script src="#WORKSPACE_IMAGES#ac.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
function iac()
InstallAC(document.wwv_flow,document.getElementById('P1_X'),"","!MATTHIASH.incsearch","&P1_OBJECT_TYPE.");
</script>In my example, P1_X is a text field and P1_OBJECT_TYPE is a dropdown list with all user object types.
Good luck,
Matthias Hoys -
How to call stored procedure from postgresql to jsp
i'm using a jdeveloper.. and i'm a newbie of jsp.. i just wanna know how to call a stored procedure in jsp?... This is my function in postgres and i don't know how to call it in jsp...
SELECT * from SP_1('2006-01-11') as ( company_code char(5), branch_category char(5), branch_code char(15), day_sales numeric(19,2), month_to_date numeric(19,2), no_of_transaction int8, month_to_date_py numeric(19,2), year_to_date numeric(19,2), year_to_date_py numeric(19,2), remarks text, time_reported text );hi again.. i'm using jsp in jdeveloper, i just wanna know how to declare double in jsp because my module is report and i need to get the average daily sales = 4500/ no. of transaction = 3. This is my code.. Where will i put the code in declaring the double and the average daily sales? Thanks in advance..
<%@ page contentType="text/html;charset=windows-1252" import="java.sql.*,Connect.CRMCon"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>untitled</title>
</head>
<body>
<%
String ave = request.getParameter("ave_daily_sales");
double cashsales = Double.parseDouble(ave);
%>
<%
logparameters data = new logparameters();
data.txtbox = request.getParameter("txtbox");
%>
<table cellspacing="3" cellpadding="2" border="1" width="100%">
<tr>
<td width="5%" bgcolor="#cccccc" height="29">
<DIV align="center">Company Code</DIV>
</td>
<td width="4%" bgcolor="#cccccc" height="29">
<DIV align="center">Branch Category</DIV>
</td>
<td width="6%" bgcolor="#cccccc" height="29">
<DIV align="center">Branch Code</DIV>
</td>
<td width="8%" bgcolor="#cccccc" height="29">
<DIV align="center">Day Sales</DIV>
</td>
<td width="9%" bgcolor="#cccccc" height="29">
<DIV align="center">Month to Date</DIV>
</td>
<td width="5%" bgcolor="#cccccc" height="29">
<DIV align="center">No.of Transaction</DIV>
</td>
<td width="9%" bgcolor="#cccccc" height="29">
<DIV align="center">Month to Date(PY)</DIV>
</td>
<td width="9%" bgcolor="#cccccc" height="29">
<DIV align="center">Ave.Daily Sales to Date</DIV>
</td>
<td width="9%" bgcolor="#cccccc" height="29">
<DIV align="center">Year to Date</DIV>
</td>
<td width="9%" bgcolor="#cccccc" height="29">
<DIV align="center">Year to Date(PY)</DIV>
</td>
<td width="9%" bgcolor="#cccccc" height="29">
<DIV align="center">Remarks</DIV>
</td>
<td width="5%" bgcolor="#cccccc" height="29">
<DIV align="center">Time Reported</DIV>
</td>
</tr>
<%
try
CRMCon ccon = new CRMCon();
Connection con = ccon.getConnection();
String sql = "select * from sp_1('"+data.txtbox+"')";
// String sql = "SELECT * from SP_1('"+ request.getParameter("data.txtbox")+"')" ;
sql += " as (company_code char(5), branch_category char(5) ," ;
sql += "branch_code char(15) , day_sales numeric(19,2)," ;
sql += "month_to_date numeric(19,2), no_of_transaction int8," ;
sql += "month_to_date_py numeric(19,2), year_to_date numeric(19,2)," ;
sql += "year_to_date_py numeric(19,2), remarks text, time_reported text) " ;
//out.println(sql);
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(sql);
while (rs.next())
%>
<tr>
<td width="13%"> <%= rs.getString("company_code") %> </td>
<td width="63%"> <%= rs.getString("branch_category") %> </td>
<td width="24%"> <%= rs.getString("branch_code") %> </td>
<td width="24%"> <%= rs.getString("day_sales") %> </td>
<td width="24%"> <%= rs.getString("month_to_date") %> </td>
<td width="24%"> <%= rs.getString("no_of_transaction") %> </td>
<td width="24%"> <%= rs.getString("month_to_date_py") %> </td>
<td width="24%"> <%= rs.getString("year_to_date") %> </td>
<td width="24%"> <%= rs.getString("year_to_date_py") %> </td>
<td width="24%"> <%= rs.getString("remarks") %> </td>
<td width="24%"> <%= rs.getString("time_reported") %> </td>
</tr>
<%
catch (Exception ex)
out.println("Error:"+ex.getMessage());
%>
</table>
</body>
</html>
<%!
class logparameters
public String txtbox;
%> -
How to call stored procedures from java program?
I have tried to run a program that calls a stored procedure on MySQL
server version 5.0.17 by using connector/j 5.0, but it always fails on the
statement: con.preparecall() ,
have looked on the internet and found out that people can all mysql
stored procedure all right in their programs, really dont know what's
wrong with this small peiece of code:
import java.sql.*;
public class TestDB {
// procedure being called is:
CREATE PROCEDURE `dbsaystorm`.`getsite` ()
BEGIN
select name from tblsite;
END
public static void main(String[] args) {
try {
//Class.forName("org.gjt.mm.mysql.Driver");
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/dbname",
"user", "pwd");
* executing SQL statement here gives perfect correct results:
// PreparedStatement ps = con.prepareStatement("select name from tblsite");
// ResultSet rs =ps.executeQuery();
// but in stored procedure way...
//it fails here on this prepare call statement:
CallableStatement proc = con.prepareCall("call getsite()");
ResultSet rs =proc.executeQuery();
if (rs == null) return;
while (rs.next()){
System.out.println("site name is: "+ rs.getString(1));
rs.close();
} catch (SQLException e) {e.printStackTrace();}
catch (Exception e) {e.printStackTrace();}
}it always gives this exception:
java.lang.NullPointerException
at com.mysql.jdbc.StringUtils.indexOfIgnoreCaseRespectQuotes(StringUtils.java:959)
at com.mysql.jdbc.DatabaseMetaData.getCallStmtParameterTypes(DatabaseMetaData.java:1280)
at com.mysql.jdbc.DatabaseMetaData.getProcedureColumns(DatabaseMetaData.java:3668)
at com.mysql.jdbc.CallableStatement.determineParameterTypes(CallableStatement.java:638)
at com.mysql.jdbc.CallableStatement.<init>(CallableStatement.java:453)
at com.mysql.jdbc.Connection.parseCallableStatement(Connection.java:4365)
at com.mysql.jdbc.Connection.prepareCall(Connection.java:4439)
at com.mysql.jdbc.Connection.prepareCall(Connection.java:4413)
at saystorm.server.data.database.TestDB.main(TestDB.java:29)
where have I gone wrong?
when I commented out the statement that makes the procedure call and call preparedstatement to execute SQL select statement, it gave perfectly correct result.
it looks like there is no problem with java prog accessing MYSQL server database, but the it seems that it's just java can't call stored procedure stored on the mysql server version 5.
can it or can't it? if it can, how is that accomplished?It is a bug in the driver because it shouldn't be
returning that exception (null pointer) even if you
are doing something wrong.
Are you using the latest version of the driver?
The stored procedure runs when you run it from the
gui/command line using a MySQL tool - correct?
As suggested you should be using the brackets. What
is the data type of the 'name' field?
You could try returning another value like one of the
following
select 1, name from tblsite;
select name, 1 from tblsite;
That might get around the bug
Additionally try just the following...
select 'test' from tblsite;yes, the driver used is in connector/j 5.0--the lastest one, and the
procedure can run correctedly at either command line or GUI mode
with no problem whatsoever, the returned data type is string type,
I have not got the chance to test it again with those values you
suggested, as I have abandoned the laptop I used to write that code
initately. There have been some other really weird cases happened on
that computer. I guess that must be something wrong with the JVM
installed on it, it was upgraded from jre5.0.04 to 06, and to 09.
something within hte JVM must have been messed up(the only reasonable
explanation). Because the same code runs correctly on my new laptop,
using the same environment: jvm 5.0_09, mysql 5.0.18, connector/J 5.0.
that old laptop really was a nightmare. -
How to exclude stored procedures from migration
Is there a way to excloude procedures functions and views from migration sybase to oracle
Hi,
In the v4 SQL*Develeoper ONLINE migration in the TRANSLATE panel you can remove the 'ALL_PROCEDURES' object.
Alternatively, in the script generated to create the objects you could manually remove the stored procedure code.
Regards,
Mike -
How to Run Stored Procedures from Teststand
I am trying to get teststand to run an SQL stored procedure but I always get the following error
Error executing substep 'Post'.
The following SQL command failed: 'EXECUTE cdt_st_test...'
Native error code -2147217900 0x80040e14
Microsoft OLE DB Provider for SQL Server:
Syntax error or access violation
It is a test stored procedure that doesn't pass any parameters.
Which steps must I use and how do I pass parameters.I have sussed it now. I was setting the "Command Type" to stored procedure instead of default. I changed it back and did "EXECUTE cdt_st_test" and it works. I have also added the parameters there as well.
-
How execute this stored procedure from SQL PLUS???
Hello folks....
Help me please...
I have this procedure....
CREATE OR REPLACE PROCEDURE TEST(COD OUT VARCHAR2, NUM OUT
VARCHAR2, ID OUT VARCHAR2)
AS
BEGIN
END;
SO, I4D LIKE TO EXECUTE IT FROM SQL PLUS::
BUT, I DONT KNOW HOW TO DO..PLEASE SEND ME A SAMPLE..
THANK UThank u man!!!
look, my error before was :
SQL> set serveroutput on
SQL> declare
SQL> cod varchar2(100);
SQL> num varchar2(100);
SQL> id varchar2(100);
SQL> begin
SQL> TEST( cod, num, id );
SQL> EXEC DBMS_OUTPUT.put_line( cod || ' ' || num || ' ' ||
id );
SQL> end;
SQL> /
i put the EXEC....
thank u!!! -
How to limit the response rows while invoking a stored procedure from OSB 10gR3
Dear Experts,
I am trying to limit the response while invoking a stored procedure from OSB via DB adapter.
Here the stored procedure returns cursors as response. I tried using the MaxTransactionSize propertiy (which is used for polling the database option in DB adapter).
We are investigating the ways to protect the application from response containing huge number of rows.
Is there any way to restrict the number of rows returned in each and every cursor while invoking the stored procedure via DB adapter?
Thanks
RamHi James ,
I want to know how to run stored procedure using jca adapter in OSB11g.
I am new to stored prcoedure,will be great if you could share some example on it as above.
Req: Single input xml will be posted on queue ,need to perform 3 DB operation (with same input):
1.Insert operation to insert master table contents.
2.select the primary key column value from master table for the last inserted record.
3.Need to insert primary key column value + other fields frm same xml file to child table.
Pls assist me on how to create a simple stored procedure and to run the same with OSB 11g.I am familiar with creation of DB adapter using Jdeveloper,we have option to perform insert and to call stored procedure here,will it be useful for this scenario?
Edited by: Anitha R on Nov 21, 2010 9:30 PM -
How to send a Varying Array param to a PL/SQL Stored Procedure from Java
* I am VERY new to jdbc, and even somewhat new to Java
* I'm using Java 1.5, Oracle 10g.
* I need to call the following PL/SQL Stored Procedure from Java:
procedure setEventStatus
i_deQueueStatus in deQueueStatus_type
*deQueueStatus_type is the following (an array of deQueueStatus_OBJ):
CREATE OR REPLACE TYPE deQueueStatus_OBJ as object
eventID number (20),
dequeuestatus varchar2(20)
CREATE OR REPLACE TYPE deQueueStatus_TYPE IS VARYING ARRAY(500) of deQueueStatus_obj
*I have created a Java object as follows:
public class EventQueueDeQueueStatus
long eventID;
String dequeueStatus;
EventQueueDeQueueStatus(long eventID, String dequeueStatus)
this.eventID = eventID;
this.dequeueStatus = dequeueStatus;
I have an ArrayList of these.
I need to pass this list to the Stored Procedure. How do I create a java.sql.Array so I can call CallableStatement.setArray to set the parameter? Or do I use something else? I have tried setObject with both the ArrayList and also with a primitive array, but got "Invalid Column Type" both times.
Any help would be greatly appreciated. I just got this task today, and I have to make it work by Tuesday :-( !
Thanks,
KathyKathy,
Search the archives of this forum and the JDBC forum for the terms STRUCT and ARRAY and you can find some sample code on the JDBC How-To Documents page and the JDBC Samples which can both be accessed from this page:
http://www.oracle.com/technology/tech/java/sqlj_jdbc/index.html
Good Luck,
Avi.
Maybe you are looking for
-
Office 2013 Updates Error - Mapped Drive
Event ID 11327 Product: Microsoft Office Professional Plus 2013 -- Error 1327. Invalid Drive: V:\ Event ID 1023: Product: Microsoft Office Professional Plus 2013 - Update 'Update for Microsoft Office 2013 (KB2956177) 32-Bit Edition' could not be inst
-
Creation of New Company in existing SAP system
What are the major issues involved in a Business running SAP taking over a new non-SAP company and trying to merge the new enterprise into its existing system? Are there any case studies of this type of acquisition/merger available and also step by s
-
A/R aging report: wrong bucket
I have an invoice with Net 30 as payment terms(ZD30): bline date and invoice date are the same.($100) a partial payment ($35) is made after 45 days of date of invoice/bline date. I put the invoice number as a reference when i made that partial paym
-
(very urgent)Difference of amount in vendor account and vendor invoice.
Dear all, we are facing a issue related with vendor account actually MIRO post for the amount is showing difference compare with vendor invoice, please consider this scenario:- we are having vendor bill/invoice for Rs 1110/- but in SAP amount is show
-
Payment made in SAP without entering an invoice
Dear All, How can I make a wire payment in SAP without having an invoice entered for it. The scenario at my client site is they make a wire payment through AMEX (credit card) for which there is no invoice entered. SO they make a wire payment say at t