SqlServer存储过程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SqlServer存储过程相关的知识,希望对你有一定的参考价值。
表T_CPlan 主键 计划名 创建时间 循环时间 T_CPlan_ID T_Plan_Name CreateTime CycleTime 1 周计划 2012-2-17 7 表T_Plan 主键 计划名 父计划 创建时间 T_CPlan_ID T_Plan_Name T_CPlan_ID CreateTime 1 周计划 1 2012-2-17 2 周计划 1 2012-2-24 表T_Plan是子表,使用存储过程根据表T_CPlan生成 SqlServer存储过程该怎么写
参考技术A createprocedure
prCreateSubPlan
as
begin
declare
@id
int,
@intCycle
int,
@planName
varchar(100),
@createTime
smalldatetime,
@cycleTime
int
select
@id
=
min(t_cplan_id)
from
t_cplan
while
(@id
is
not
null)
begin
select
@planName=t_plan_name,
@createTime
=
createTime,
@cycleTime
=
cycleTime
from
t_cplan
where
t_cplan_id=@id
select
@intCycle=
0
while
(@intCycle<@cycleTime)
begin
--
表t_plan
列t_plan_id是IDENTITY
列
insert
t_plan
(t_plan_name,
t_cplan_id,
createTime)
values
(@planName,
@id,
dateadd(day,
@intCycle,
@createTime))
select
@intCycle
=
@intCycle
+
1
end
select
@id
=
min(t_cplan_id)
from
t_cplan
where
t_cplan_id>@id
end
end
go
sqlserver里存储过程怎么调用存储过程
sqlserver里调用存储过程的具体操作步骤如下:
1、打开SQL Server Managment管理工具,新建一个表。
2、然后在表中插入一些样例数据。
3、接下来在SQL Server Managment中右键单击可编程性,选择新建存储过程。
4、然后在SQL编写界面中编写SQL语句,注意这里的@name就是接收的输入参数。
5、编写好存储过程,执行一下,就会在可编程性下面找到创建的存储过程。
6、紧接着,会弹出一个【执行过程】的界面,里面有存储过程的参数,在【值】这一列输入想要传入的参数值,比如10,然后点击【确定】按钮,就可以看到执行结果100了。
参考技术A1、打开SQL server management studio,连接到数据库,展开想要创建的数据库,找到【可编程性】->【存储过程】的菜单。
2、在第一步找到的【存储过程】菜单项上面,点击鼠标右键,依次选择【新建】->【存储过程】,就可以开始创建存储过程了。
3、当点击了第二步的【存储过程】之后,在右侧就会出现一个新的窗口,而且默认有好多的代码和注释,这些就是sqlserver默认创建的存储过程的结构和注释。
4、如图为sqlserver默认创建的存储过程的结构和注释的中文解释。
5、此处仅仅创建一个简单的演示存储过程,名字叫做usp_SimpleStoreProcedure,拥有一个整型的传入参数 @x,存储过程直接返回传入参数乘以10倍的结果。写完存储过程之后,按F5就可以将其存储到数据库中。
6、在第二步中找到的【存储过程】菜单下面找到第5步创建的存储过程名字usp_SimpleStoreProcedure,在这个名字上面点击鼠标右键,选择【执行存储过程】。
7、紧接着,会弹出一个【执行过程】的界面,里面有存储过程的参数,在【值】这一列输入想要传入的参数值,比如10,然后点击【确定】按钮,就可以看到执行结果100了。
参考技术B 在SQL Server数据库的维护或者Web开发中,有时需要在存储过程或者作业等其他数据库操作中调用其它的存储过程,下面介绍其调用的方法在SQL Server数据库的维护或者Web开发中,有时需要在存储过程或者作业等其他数据库操作中调用其它的存储过程,下面介绍其调用的方法
一、SQL SERVER中调用不带输出参数的存储过程
SQL 代码
--存储过程的定义
create procedure [sys].[sp_add_product]
(
@m_viewcount int = 0
,@m_hotcount int = 0
)
as
go
--存储过程的调用
declare @m_viewcount int
declare @m_hotcount int
exec sp_add_product @m_viewcount,@m_hotcount
二、SQL SERVER中调用带输出参数的存储过程
SQL 代码
--定义存储过程
create procedure [sys].[sp_add_product]
(
@m_viewcount int = 0
,@m_hotcount int output
)
--存储过程的调用
declare @m_viewcount int =0
declare @m_hotcount int
exec dbo.sp_add_product @m_viewcount,@m_hotcount output本回答被提问者采纳
以上是关于SqlServer存储过程的主要内容,如果未能解决你的问题,请参考以下文章