在存储过程中使用参数以及循环
2007-10-30 18:21
603 查看
存储过程中使用参数
-- =============================================
-- Author:ChaiChunyan
-- Create date: <Create Date,,>
-- Description: <查询某专业某班级的课程表>
-- =============================================
ALTER PROCEDURE GETCELL
@a int,
@b int,
@c int,
@d int --定义形参,注意此时要使用","而不是";"
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
declare @pcoursenum int; --节次 1-10
declare @classid int; --班级ID
declare @start int; --开始周
declare @end int; --结束周
set @classid = @a
set @pcoursenum= @b
set @start= @c
set @end= @d --根据传递的形参对要查询的条件赋值
select curriculumschedule.monday,cl.teacherid
from curriculumschedule right join(
select id,teacherid from classcourse where weekstart between @start and @end
) as cl on cl.id=curriculumschedule.monday
where curriculumschedule.classid=@classid and curriculumschedule.coursenum=@pcoursenum
END
查询的时候
语句为
GetCELL 1,1,1,1 (此处只是示例,表示传递四个为整型的参数)
当为字符串的时候要加 ''
int i, j;
i = j = 1;
DataTable dt = dbo.SelectToDataTableByProc("getcell "+i.ToString()+","+j.ToString()+"");
当在存储过程中要使用循环时
例:
--使用存储过程循环写入数据
declare @i int
set @i=1
while @i<10
begin
insert into Table(字段信息)values(值信息)
set @i=@i+1
end
-- =============================================
-- Author:ChaiChunyan
-- Create date: <Create Date,,>
-- Description: <查询某专业某班级的课程表>
-- =============================================
ALTER PROCEDURE GETCELL
@a int,
@b int,
@c int,
@d int --定义形参,注意此时要使用","而不是";"
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
declare @pcoursenum int; --节次 1-10
declare @classid int; --班级ID
declare @start int; --开始周
declare @end int; --结束周
set @classid = @a
set @pcoursenum= @b
set @start= @c
set @end= @d --根据传递的形参对要查询的条件赋值
select curriculumschedule.monday,cl.teacherid
from curriculumschedule right join(
select id,teacherid from classcourse where weekstart between @start and @end
) as cl on cl.id=curriculumschedule.monday
where curriculumschedule.classid=@classid and curriculumschedule.coursenum=@pcoursenum
END
查询的时候
语句为
GetCELL 1,1,1,1 (此处只是示例,表示传递四个为整型的参数)
当为字符串的时候要加 ''
int i, j;
i = j = 1;
DataTable dt = dbo.SelectToDataTableByProc("getcell "+i.ToString()+","+j.ToString()+"");
当在存储过程中要使用循环时
例:
--使用存储过程循环写入数据
declare @i int
set @i=1
while @i<10
begin
insert into Table(字段信息)values(值信息)
set @i=@i+1
end
相关文章推荐
- ReportView如何使用构造SQL语句带参数的存储过程创建报表以及为rdlc传递参数
- SQL Server存储过程中如何使用数组参数
- [译]DbContext API中使用SqlQuery和ExecuteSqlCommand获取存储过程的输入输出参数
- MYSQL存储过程循环CURSOR(游标)使用
- jsp中使用jdbc驱动与sql2005连接和使用带参数的存储过程
- 在SQL SERVER 2005存储过程中,使用循环语句
- 深入mysql存储过程中表名使用参数传入的详解
- Day 8(11.15):存储过程(2)--存储过程中使用参数
- 万用存储过程分页,输入表名 关键字 以及相关参数即可分页
- mysql存储过程中in、out、inout参数使用
- mysql存储过程传入两个参数,循环插入数据
- 使用mssql2008新特性(存储过程参数类型使用"用户自定义表"来实现批量DML更新多表)解决项目里遇到的性能问题
- 使用输出参数返回值:在存储过程中使用参数
- 认识下mysql中的存储过程使用以及语法
- 在SQL SERVER 2005存储过程中,使用循环语句
- 数据库通用访问过程及带传出参数存储过程的使用
- 如何使用表名做为参数实现存储过程的设计
- 最近写的一个使用了表变量参数的存储过程
- 存储过程中使用Text类型的输出参数(转)
- SQL Server存储过程中使用"数组参数"