oracle pl/sql 預存程序

來源:互聯網
上載者:User

標籤:title   建立   san   commit   author   static   logs   http   www.   

預存程序用於執行特定的操作,當建立預存程序時,既可以指定輸入參數(in),也可以指定輸出參數(out),通過在過程中使用輸入參數,可以將資料傳遞到執行部分;通過使用輸出參數,可以將執行部分的資料傳遞到應用環境。在sqlplus中可以使用create procedure命令來建立過程。
執行個體如下:
1.請考慮編寫一個預存程序,可以輸入僱員名,新工資,用來修改僱員的工資

--根據僱員名去修改工資
CREATE PROCEDURE sp_update(uname VARCHAR2, newsal NUMBER) IS
BEGIN
update emp set sal=newsal where ename=uname;
END;
/

            
2.如何調用預存程序有兩種方法:exec、call

--使用exec調用預存程序
SQL> exec sp_update(‘zhangsan‘, 888);
SQL> commit;

            
3.如何在java程式中調用一個預存程序

package junit.test;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;

/**
* 示範java程式調用oracle的預存程序案例
*
* @author jiqinlin
*
*/
public class ProcedureTest {

public static void main(String[] args) {

try {
// 1.載入驅動
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2.得到串連
Connection ct = DriverManager.getConnection(
"jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "oracle");

// 3.建立CallableStatement
CallableStatement cs = ct.prepareCall("{call sp_update(?,?)}");
// 4.給?賦值
cs.setString(1, "SMITH");
cs.setInt(2, 4444);
// 5.執行
cs.execute();
// 關閉
cs.close();
ct.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

參見:http://www.cnblogs.com/linjiqin/archive/2012/02/23/2365429.html

oracle pl/sql 預存程序

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.