<?xml version="1.0" encoding="UTF-8"?><!-- generator="bbPress" -->

<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
>

<channel>
<title>~SingleForum~无废话记录~ Topic: 存储过程记录（只有输入参数）</title>
<link>http://www.ll19.com/bb/</link>
<description>~19~记录点有用的好吗？少说废话少装b~</description>
<language>en</language>
<pubDate>Tue, 07 Feb 2012 08:57:46 +0000</pubDate>

<item>
<title>admin on "存储过程记录（只有输入参数）"</title>
<link>http://www.ll19.com/bb/topic/91#post-91</link>
<pubDate>Sun, 03 Jan 2010 15:46:05 +0000</pubDate>
<dc:creator>admin</dc:creator>
<guid isPermaLink="false">91@http://www.ll19.com/bb/</guid>
<description>&#60;p&#62;过程&#60;/p&#62;
&#60;p&#62;过程是为了执行一定任务而组合在一起的SQL语句和PLSQL语句。（个人理解过程就是ORACLE的程序（或者说是方法、函数））&#60;/p&#62;
&#60;p&#62;只有输入参数时候的例子&#60;/p&#62;
&#60;p&#62;创建存储过程&#60;/p&#62;
&#60;p&#62;创建或替换一个存储过程myproc &#60;/p&#62;
&#60;p&#62;参数为id  ORACLE中参数默认为输入参数 in （之后用is 或者 as 都可以）&#60;/p&#62;
&#60;p&#62;CREATE  or replace procedure myproc(id in varchar2)&#60;br /&#62;
Is&#60;br /&#62;
定义一个变量 注意：定义变量一定要给出长度，参数可以不给出长度&#60;br /&#62;
Name varchar2(10);&#60;br /&#62;
Begin&#60;br /&#62;
将books_name放置到变量里面&#60;br /&#62;
Select books_name into Name form books where books_id = id;&#60;br /&#62;
Dbms_Output.put_line(Name);&#60;br /&#62;
End myproc;&#60;/p&#62;
&#60;p&#62;执行存储过程&#60;/p&#62;
&#60;p&#62;Declare&#60;br /&#62;
定义变量&#60;br /&#62;
Tid vachar2(10);&#60;br /&#62;
Begin&#60;br /&#62;
赋值&#60;br /&#62;
Tid := ‘001’;&#60;br /&#62;
Myproc(Tid);&#60;br /&#62;
End;&#60;/p&#62;
&#60;p&#62;完整内容：&#60;/p&#62;
&#60;p&#62;CREATE  or replace procedure myproc(idcs in varchar2)&#60;br /&#62;
Is&#60;br /&#62;
Namebl varchar2(10);&#60;br /&#62;
Begin&#60;br /&#62;
select name into Namebl from test where id = idcs;&#60;br /&#62;
Dbms_Output.put_line(Namebl);&#60;br /&#62;
End myproc;&#60;/p&#62;
&#60;p&#62;Declare&#60;br /&#62;
Tid integer(10);&#60;br /&#62;
Begin&#60;br /&#62;
Tid := 1;&#60;br /&#62;
Myproc(Tid);&#60;br /&#62;
End;&#60;/p&#62;
&#60;p&#62;或者 &#60;/p&#62;
&#60;p&#62;Begin&#60;br /&#62;
Myproc(1);&#60;br /&#62;
End;&#60;/p&#62;
&#60;p&#62;JAVA程序&#60;/p&#62;
&#60;p&#62;import java.sql.*;&#60;/p&#62;
&#60;p&#62;import java.io.OutputStream;&#60;/p&#62;
&#60;p&#62;import java.io.Writer;&#60;/p&#62;
&#60;p&#62;import java.sql.PreparedStatement;&#60;/p&#62;
&#60;p&#62;import java.sql.ResultSet;&#60;/p&#62;
&#60;p&#62;import oracle.jdbc.driver.*;&#60;/p&#62;
&#60;p&#62;public class TestProcedureOne {&#60;/p&#62;
&#60;p&#62;public TestProcedureOne() {&#60;/p&#62;
&#60;p&#62;}&#60;/p&#62;
&#60;p&#62;public static void main(String args ){&#60;/p&#62;
&#60;p&#62;String driver = &#34;oracle.jdbc.driver.OracleDriver&#34;;&#60;/p&#62;
&#60;p&#62;String strUrl = &#34;jdbc:oracle:thin:@192.168.10.216:1521:ctbu&#34;;&#60;/p&#62;
&#60;p&#62;Statement stmt = null;&#60;/p&#62;
&#60;p&#62;ResultSet rs = null;&#60;/p&#62;
&#60;p&#62;Connection conn = null;&#60;/p&#62;
&#60;p&#62;CallableStatement cstmt = null;&#60;/p&#62;
&#60;p&#62;try {&#60;/p&#62;
&#60;p&#62;Class.forName(driver);&#60;/p&#62;
&#60;p&#62;conn = DriverManager.getConnection(strUrl, &#34;dbname&#34;, &#34;password&#34;);&#60;/p&#62;
&#60;p&#62;CallableStatement proc = null;&#60;/p&#62;
&#60;p&#62;proc = conn.prepareCall(&#34;{ call TESTA(?,?) }&#34;);&#60;/p&#62;
&#60;p&#62;proc.setString(1, 1);&#60;/p&#62;
&#60;p&#62;proc.setString(2, &#34;232323&#34;);&#60;/p&#62;
&#60;p&#62;proc.execute();&#60;/p&#62;
&#60;p&#62;}&#60;/p&#62;
&#60;p&#62;catch (SQLException ex2) {&#60;/p&#62;
&#60;p&#62;ex2.printStackTrace();&#60;/p&#62;
&#60;p&#62;}&#60;/p&#62;
&#60;p&#62;catch (Exception ex2) {&#60;/p&#62;
&#60;p&#62;ex2.printStackTrace();&#60;/p&#62;
&#60;p&#62;}&#60;/p&#62;
&#60;p&#62;finally{&#60;/p&#62;
&#60;p&#62;try {&#60;/p&#62;
&#60;p&#62;if(rs != null){&#60;/p&#62;
&#60;p&#62;rs.close();&#60;/p&#62;
&#60;p&#62;if(stmt!=null){&#60;/p&#62;
&#60;p&#62;stmt.close();&#60;/p&#62;
&#60;p&#62;}&#60;/p&#62;
&#60;p&#62;if(conn!=null){&#60;/p&#62;
&#60;p&#62;conn.close();&#60;/p&#62;
&#60;p&#62;}&#60;/p&#62;
&#60;p&#62;}&#60;/p&#62;
&#60;p&#62;}&#60;/p&#62;
&#60;p&#62;catch (SQLException ex1) {&#60;/p&#62;
&#60;p&#62;}&#60;/p&#62;
&#60;p&#62;}&#60;/p&#62;
&#60;p&#62;}&#60;/p&#62;
&#60;p&#62;}
&#60;/p&#62;</description>
</item>

</channel>
</rss>

