Java調(diào)用Oracle函數(shù)的兩種情況
下面為您介紹的Java調(diào)用Oracle函數(shù)方法,共兩種情況,一種調(diào)用無(wú)入?yún)⒌腛racle函數(shù),一種則是調(diào)用有一個(gè)入?yún)?,一個(gè)輸出參數(shù)以及一個(gè)字符串返回值的Oracle函數(shù)。
調(diào)用無(wú)入?yún)⒌暮瘮?shù)
函數(shù)定義
- CREATE OR REPLACE Function f_getstring Return Varchar2 Is
- Begin
- Return ''String value'';
- End f_getstring;
調(diào)用函數(shù)的Java片斷
- CallableStatement cstmt = con.prepareCall("{?=call f_getstring}");
- cstmt.registerOutParameter(1, Types.VARCHAR);
- cstmt.execute();
- String strValue = cstmt.getString(1);
- System.out.println("The return value is:" + strValue);
- cstmt.close();
調(diào)用有一個(gè)入?yún)?,一個(gè)輸出參數(shù)以及一個(gè)字符串返回值的函數(shù)
函數(shù)定義
- CREATE OR REPLACE Function f_Getinfo(Id Integer, Age Out Integer) Return Varchar2 Is
- Begin
- Age := 10;
- Return ''The age is:'' || Id;
- End f_Getinfo;
調(diào)用函數(shù)的Java代碼片斷
- CallableStatement cstmt = con
- .prepareCall("{?=call f_getinfo(?,?)}");
- cstmt.registerOutParameter(1, Types.VARCHAR);
- cstmt.setInt(2, 11);
- cstmt.registerOutParameter(3, Types.INTEGER);
- cstmt.execute();
- String strValue = cstmt.getString(1);
- int age = cstmt.getInt(3);
- System.out.println("The return value is:" + strValue
- + " and age is:" + age);
- cstmt.close();
【編輯推薦】
oracle函數(shù)返回表的實(shí)現(xiàn)