oracle的存储过程里return是起什么作用的

oracle的存储过程里return是起什么作用的,第1张

函数一般都是对数据的简单处理,可以方便复用。

举个简单例子,

比如要对一个数字N做比较复杂的运算,而且需要多次使用,那么建立函数get_N(number)

在每次需要这个结果的时候都可以调用函数来处理

比如 select get_N(n) from dual

而不需要每次都把整个计算过程都做一次。

存储过程主要是处理一些复杂的业务,比如一个生成订单的过程,我需要记录订单表,日志表,更新客户信息表,更新客户积分等等的 *** 作。

那可以把这些 *** 作都放在一个存储过程中实现。

每次生成订单,只需要通过程序调用一下存储过程就可以了。而不需要通过程序去多次链接数据库,每次执行对一个表的 *** 作。

(1)执行一个没有参数的存储过程的代码如下:

SqlConnection

conn=new

SqlConnection(“connectionString”)

SqlDataAdapter

da

=

new

SqlDataAdapter()

da.selectCommand

=

new

SqlCommand()

da.selectCommand.Connection

=

conn

da.selectCommand.CommandText

=

"NameOfProcedure"

da.selectCommand.CommandType

=

CommandType.StoredProcedure

(2)执行一个有参数的存储过程的代码如下

SqlConnection

conn=new

SqlConnection(“connectionString”)

SqlDataAdapter

da

=

new

SqlDataAdapter()

da.selectCommand

=

new

SqlCommand()

da.selectCommand.Connection

=

conn

da.selectCommand.CommandText

=

"NameOfProcedure"

da.selectCommand.CommandType

=

CommandType.StoredProcedure

param

=

new

SqlParameter("@ParameterName",

SqlDbType.DateTime)

param.Direction

=

ParameterDirection.Input

param.Value

=

Convert.ToDateTime(inputdate)

da.selectCommand.Parameters.Add(param)

若需要添加输出参数:

param

=

new

SqlParameter("@ParameterName",

SqlDbType.DateTime)

param.Direction

=

ParameterDirection.Output

param.Value

=

Convert.ToDateTime(inputdate)

da.selectCommand.Parameters.Add(param)

若要获得参储过程的返回值:

param

=

new

SqlParameter("@ParameterName",

SqlDbType.DateTime)

param.Direction

=

ParameterDirection.ReturnValue

param.Value

=

Convert.ToDateTime(inputdate)

da.selectCommand.Parameters.Add(param)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9904457.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存