oracle怎么创建包体 oracle创建包和包体

Oracle 怎么根据包头生成包体

包头

创新互联建站专注于企业成都全网营销、网站重做改版、南山网站定制设计、自适应品牌网站建设、H5场景定制商城网站建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为南山等各大城市提供网站开发制作服务。

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;

oracle 如何在包里创建一个简单的函数和存储过程

25、包

(1)定义包头

语法:

CREATE [OR REPLACE] PACKAGE [schame_name.]包名

IS | AS

包描述

包描述:可以是变量、常量及数据类型定义和游标定义,也可以是存储过程、函数定义和参数列表返回值类型。

例:

CREATE OR REPLACE PACKAGE employeePackage

AS

--类型定义

Type empRecType is record(

Empno number(4),

Salary number

)

--变量定义

p1 varchar2(20);

type t_departmentNo table is table of dept.deptno%type

index by binary_integer;

--游标定义

Cursor order_sal retrurn EmpRecType;

--聘用员工过程

Procedure HireEmployee(p_EmpNo emp.empno%type);

End employeePackage;

例:

CREATE OR REPLACE PACKAGE scott.pkg_displayproduct

IS

procedure prc_getproductinfo

(

pid scott.product.prodid%type,

pname out scott.product.prodname%type,

ctname out scott.product.CATEGORYID%type,

dscp out scott.product.description%type

);

function fun_getstock

(

pid scott.product.prodid%type

)

return number;

END pkg_displayproduct;

(2)定义包体

语法:

CREATE OR REPLACE PACKAGE BODY [schame_name.]包名

IS | AS

包体描述;

END 包名;

包名:将要创建的包名称,该名称可以和包头所在的包名相同,也可以不同。

包体描述:游标、存储过程或者函数的定义

包体是可选的,如果在包头中没有声明任何存储过程或者函数,则包体就不存在,即使在包头有变量、游标或者类型的声明

(3)引用包中对象

BEGIN

[schame_name.][包名.]对象名;

END;

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 package 的创建

你放在sql文件中,oracle会认为所有的脚本都是一个脚本块,除非碰到执行符号

/

所以,修改为以下脚本后将可以执行。

create

or

replace

package

pkg_sfdc_registration

as

emp_id

number(10);

procedure

hire_employee(e_id

out

number);

end

pkg_sfdc_registration;

/

---

这里加个符号

/

create

or

replace

package

body

pkg_sfdc_registration

as

procedure

hire_employee(e_id

out

number)

is

begin

select

1

into

e_id

from

dual;

end

hire_employee;

end

pkg_sfdc_registration;

/

---

这里加个符号

/

请问Oracle中如何在通过创建一个package,然后在package中创建procedure的语法是怎么样的啊

先create package,在里面声明procedure

然后再create package body,在package body里面编写procedure的代码即可(相当于create procedure)。

包里没有create procedure

示例如下:

CREATE OR REPLACE PACKAGE pkg_test IS

PROCEDURE pro_test(V_OLD IN VARCHAR2,V_NEW IN VARCHAR2);

...

END test;

/

CREATE OR REPLACE PACKAGE BODY pkg_test IS

...

PROCEDURE pro_test(V_OLD IN VARCHAR2,V_NEW IN VARCHAR2) IS

BEGIN

...

END;

...

END pkg_test;

oracle创建视图可以跟package一样创建?

1、首先打开第三方工具,PLSQL2、登录3、打开sql窗口4、在新打开的页面写自己的视图创建语句即可,要根据自己的需求来写。如:CREATE VIEW ygb_view AS SELECT * FROM 员工表 WHERE 员工表.性别=‘女’ with check option5、写好后,点执行,即菜单中形似齿轮的图标。6、创建成功。r


本文名称:oracle怎么创建包体 oracle创建包和包体
链接URL:http://myzitong.com/article/hijjhs.html