vs中调用存储过程的几种办法谢谢了,大神帮忙啊

vs中调用存储过程的几种办法谢谢了,大神帮忙啊,第1张

一个不带参数的简单掘大存储过程。多数存储过程的功能比本例复杂多了,但这里主要说明存储过程的一些基本要点。如前面所述,不同DBMS定义存储过程的语法是不同的。例如,有些DBMS使用begin

.

.

.

end或其他关键字指明存储过程定义的开始和结束。在有些DBMS中,下面的SQL语句创建一个存储过程:

create

procedure

SHOW_SUPPLIERS

as

select

SUPPLIERS.SUP_NAME,

COFFEES.COF_NAME

from

SUPPLIERS,

COFFEES

where

SUPPLIERS.SUP_ID

=

COFFEES.SUP_ID

order

by

SUP_NAME

下裂亮面的代码将SQL语句放到一个字符串中,然后赋给变量createProcedure以备后用:

String

createProcedure

=

"create

procedure

SHOW_SUPPLIERS

"

+

"as

"

+

"select

SUPPLIERS.SUP_NAME,

COFFEES.COF_NAME

"

+

"肆散宽from

SUPPLIERS,

COFFEES

"

+

"where

SUPPLIERS.SUP_ID

=

COFFEES.SUP_ID

"

+

"order

by

SUP_NAME"

下面的代码段使用Connection对象con来创建Statement对象,用于把创建存储过程的SQL语句发送给数据库:

Statement

stmt

=

con.createStatement()

stmt.executeUpdate(createProcedure)

存储过程SHOW_SUPPLIERS将作为一个可调用的数据库对象在数据库中编译并存储,调用时就像调用其他方法一样。

首先需要知道“另一个存储过程”的结果集的所有列的类型。

假设“另一个存储过程”的名正羡字是sp1,没有参数,返回的结果滚烂集共3列,全部为int型,那么“存储过程”里添加一个与结果集列数相同的临时表或表变量用于接收“另一个存储过程”的结果集

如下

CREATE PROCEDURE sp2

AS

DECLARE @t table(a int,b int,c int)

INSERT INTO @t(a,b,c)

EXEC sp1

SELECT * FROM @t

使用SQLSERVER存储过程可以很大的提高程序运行速度,简化编程维护难度,现已得到广泛应用。

创建存储过程

和数据表大清漏一样,在使用之前需要创建存储过程,它的简明语法是:

引用:

Create PROC 存储过程名称

[参数列表(多个以“,”分隔)]

AS

SQL 语句


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

原文地址: http://outofmemory.cn/bake/11995176.html

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

发表评论

登录后才能评论

评论列表(0条)

保存