[ADO.NET]ODP.Net을 이용한 Stored Function(저장함수) 호출예제
using System;
using System.Data;
using Oracle.DataAccess;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
class Test
{
static void Main()
{
//get_dalary 함수는 Oracle에 정의 되어 있는 Stored Function 입니다.
//Empno와 같은 사원번호를 입력 인자로 받아 그 사원의 급여를 돌려 줍니다.
string str = "data source=onj;user id=scott; password=tiger";
OracleConnection Conn = new OracleConnection(str);
OracleCommand command = new OracleCommand("get_salary", Conn);
command.CommandType = CommandType.StoredProcedure;
OracleParameter output = new OracleParameter("sal", OracleDbType.Int64);
output.Direction = ParameterDirection.ReturnValue;
command.Parameters.Add(output);
OracleParameter input = new OracleParameter("p_id", OracleDbType.Int32);
input.Direction = ParameterDirection.Input;
input.Value = 7900;
command.Parameters.Add(input);
try
{
Conn.Open();
command.ExecuteNonQuery();
Conn.Close();
Console.WriteLine("{0}", output.Value);
Console.ReadLine();
}
catch(OracleException e)
{
Console.WriteLine(e.Number);
Console.WriteLine(e.Message);
Console.WriteLine();
}
}
}
----------------------------------------
using System.Data;
using Oracle.DataAccess;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
class Test
{
static void Main()
{
//get_dalary 함수는 Oracle에 정의 되어 있는 Stored Function 입니다.
//Empno와 같은 사원번호를 입력 인자로 받아 그 사원의 급여를 돌려 줍니다.
string str = "data source=onj;user id=scott; password=tiger";
OracleConnection Conn = new OracleConnection(str);
OracleCommand command = new OracleCommand("get_salary", Conn);
command.CommandType = CommandType.StoredProcedure;
OracleParameter output = new OracleParameter("sal", OracleDbType.Int64);
output.Direction = ParameterDirection.ReturnValue;
command.Parameters.Add(output);
OracleParameter input = new OracleParameter("p_id", OracleDbType.Int32);
input.Direction = ParameterDirection.Input;
input.Value = 7900;
command.Parameters.Add(input);
try
{
Conn.Open();
command.ExecuteNonQuery();
Conn.Close();
Console.WriteLine("{0}", output.Value);
Console.ReadLine();
}
catch(OracleException e)
{
Console.WriteLine(e.Number);
Console.WriteLine(e.Message);
Console.WriteLine();
}
}
}
----------------------------------------
* Oracle Server에 작성된 Stored Function
--------------------------------------------
--------------------------------------------
create or replace function get_salary
(p_id in number)
return number
is
v_sal number;
begin
select sal
into v_sal
from emp
where empno = p_id;
return v_sal;
end;
/
*/
(p_id in number)
return number
is
v_sal number;
begin
select sal
into v_sal
from emp
where empno = p_id;
return v_sal;
end;
/
*/
[100%환급,개발자전문]빅데이터/SQL/자바/스프링/안드로이드/닷… | 12-27 | 2614 | ||
[채용확정무료교육]오라클자바개발잘하는신입뽑기2개월과정,교육… | 12-11 | 1890 | ||
53 | [평일100%환급7건]Spring,자바&JSP,안드로이드,웹퍼블리싱,C#닷… | 03-15 | 1706 | |
52 | [주말]C#,ASP.NET마스터 | 01-31 | 1813 | |
51 | [기업100%환급,평일주간]SQL기초에서스키마오브젝트,PLSQL,힌트… | 01-31 | 2660 | |
50 | [평일주간야간,주말]C기본&자료구조,알고리즘 | 01-31 | 1422 | |
49 | [평일주간,평일야간,주말]Spring,MyBatis,Hibernate개발자과정-… | 01-19 | 1741 | |
48 | [평일야간,주말]안드로이드개발자과정(Android기초실무) | 01-11 | 1631 | |
47 | [평일야간,주말주간야간]JAVA,Network&JSP&Spring,MyBatis,Hiber… | 01-03 | 2150 | |
46 | [100%환급,개발자전문]빅데이터/SQL/자바/스프링/안드로이드/닷… | 12-27 | 2614 | |
45 | [평일주간]NoSQL,MongoDB,빅데이터기초과정 | 12-19 | 1856 | |
44 | [평일주간야간, 주말]웹퍼블리싱 마스터(HTML5,CSS3,jQUERY,AJAX… | 12-14 | 1826 | |
43 | [채용확정무료교육]오라클자바개발잘하는신입뽑기2개월과정,교육… | 12-11 | 1890 | |
42 | [평일주간]빅데이터하둡기초과정(BigData Hadoop) | 12-09 | 1483 | |
41 | [평일야간]닷넷(C#,Network,ADO.NET,ASP.NET)마스터 | 12-01 | 1715 | |
40 | [기업100%환급]오라클&자바웹스프링신입과정3주(SQL,JAVA,JSP,Se… | 12-01 | 1887 | |
39 | [평일야간,주말]SQL기초에서실무까지(SQL기초,PLSQL,힌트,튜닝) | 12-01 | 1359 |
댓글 없음:
댓글 쓰기