成都网站建设设计

将想法与焦点和您一起共享

oracle怎么写包体 oracle的包调用包体中的函数

如何建立oracle包,如何调用包的过程或是函数

包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比西峡网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式西峡网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖西峡地区。费用合理售后完善,十多年实体公司更值得信赖。

1.创建包

--创建一个包sp_package

create package sp_package is

--声明该包有一个过程和函数,(没有实现)

procedure update_sal(name varchar2,newsal number);

function annual_nicome(name varchar2) return number;

end;

--创建包体(用于实现已经声明的函数和过程)

create package body sp_package is

procedure update_sal(name varchar2,newsal number)

is

BEGIN

UPDATE emp

SET    sal = newsal

WHERE  ename = name;

END;

function annual_income(name varchar2)

return number is

annual_salary number;

BEGIN

SELECT sal * 12 + Nvl(comm,0)

INTO   annual_salary

FROM   emp

WHERE  ename = name;

RETURN annual_salary;

END;

end;

--调用包中的内容

exec sp_package.update_sal('name',number);

Oracle 怎么根据包头生成包体

包头

create or replace package package_name is

prcedure p1;

prcedure p2(v1 in char, v2 in date);

end package_name;

包体

create or replace package body package_name is

prcedure p1 is

begin

--代码省略

end p1;

prcedure p2(v1 in char, v2 in date) is

begin

--代码省略

end p2;

end package_name;

c#怎么执行sql脚本在oracle中创建包和包体

调用方式如下:

using (var conn = new OracleConnection(oradb))

using (var cmd = conn.CreateCommand())

{

cmd.CommandType = CommandType.StoredProcedure;

cmd.CommandText = "PKG_NAME.INSERT_FUNC";

cmd.BindByName = true;

cmd.Parameters.Add("Return_Value", OracleDbType.Int16,

ParameterDirection.ReturnValue);

cmd.Parameters.Add("i_description", OracleDbType.Varchar2, 1000,

promotionEventSetupDetails.PromotionDescription,

ParameterDirection.Input);

cmd.Parameters.Add("i_theme", OracleDbType.Varchar2, 80,

promotionEventSetupDetails.PromotionTheme,

ParameterDirection.Input);

cmd.Parameters.Add("o_id", OracleDbType.Varchar2,

ParameterDirection.Output);

cmd.Parameters.Add("o_error_msg", OracleDbType.Varchar2,

ParameterDirection.Output);

conn.Open();

using (var dr = cmd.ExecuteReader())

{

// 业务代码

}

}


当前文章:oracle怎么写包体 oracle的包调用包体中的函数
链接分享:http://chengdu.cdxwcx.cn/article/hpiogo.html