站长首页  新闻资讯  网站运营  网站源码  站长学院  赚钱联盟  站长论坛  链接交换  素材中心  站长工具
设为主页
收藏本站
寻找帮助
 学院首页 | 网络编程 | 网页设计 | 图形图象 | 数 据 库 | 服务器技术 | 网络安全 | 网络媒体 | 搜索排名 | 网站运营 |
 当前位置:站长前线 >> 站长学院 >> 数 据 库 >> MSSQL >> SQL语句和存储过程 查询语句的流程控制
∷ 相关文章 ∷
在ASP中使用SQL语句之3:LI..
Oracle维护常用SQL语句(2)..
在ASP中使用SQL语句之2:用..
全面接触SQL语法(一)
在ASP中使用SQL语句之6:存..
一个简单的SQL语句执行器
在ASP中使用SQL语句之5:开..
∷ 热门文章 ∷
网吧生存手册:10秒钟还你..
密码攻防实战:驱动器隐藏..
木马入侵手段及防范措施
PhotoShop 学习方法论简单..
ASP.NET下MVC设计模式的实..
使用Win2003搭建视频服务器..
asp.net StreamReader 创建..
代理商之痛(转互联网大会..
Linux 服务器的安全隐患以..
用VB实现一个简单的ESMTP客..
 
SQL语句和存储过程 查询语句的流程控制
作者:未知   来源:CSDN   发布日期:2005-6-19   点击次数: 402
SQL语句和存储过程 查询语句的流程控制
drop table classname
declare @TeacherID int
declare @a char(50)
declare @b char(50)
declare @c char(50)
declare @d char(50)
declare @e char(50)
set @TeacherID=1

select @a=DRClass1, @b=DRClass2, @c=DRClass3, @d=DRClass4, @e=DRClass5 from Teacher Where TeacherID = @TeacherID

create table classname(classname char(50))
insert into classname (classname) values (@a)
if (@b is not null)
begin
insert into classname (classname) values (@b)

if (@c is not null)
begin
insert into classname (classname) values (@c)

if (@d is not null)
begin
insert into classname (classname) values (@d)
if (@e is not null)
begin
insert into classname (classname) values (@e)
end
end
end
end

select * from classname

以上这些SQL语句能不能转成一个存储过程?我自己试了下
ALTER PROCEDURE Pr_GetClass

@TeacherID int,
@a char(50),
@b char(50),
@c char(50),
@d char(50),
@e char(50)
as

select @a=DRClass1, @b=DRClass2, @c=DRClass3, @d=DRClass4, @e=DRClass5 from Teacher Where TeacherID = @TeacherID
DROP TABLE classname
create table classname(classname char(50))

insert into classname (classname) values (@a)
if (@b is not null)
begin
insert into classname (classname) values (@b)

if (@c is not null)
begin
insert into classname (classname) values (@c)

if (@d is not null)
begin
insert into classname (classname) values (@d)
if (@e is not null)
begin
insert into classname (classname) values (@e)
end
end
end
end

select * from classname
但是这样的话,这个存储过程就有6个变量,实际上应该只提供一个变量就可以了

主要的问题就是自己没搞清楚 @a,@b,@C,@d 等是临时变量,是放在as后面重新做一些申明的,而不是放在开头整个存储过程的变量定义。

本新闻共2页,当前在第1页  1  2  


[告诉好友] [关闭窗口] [返回上一页] [打 印]

  • 上篇文章:将表数据生成SQL脚本的存储过程
  • 下篇文章:SQL Server连接中三个常见的错误分析
  • 关于本站 版权申明 广告服务 友情链接 寻找帮助 联系我们 人才招聘
    Copyright © 2002-2006 Zzadmin.Com. All Rights Reserved .
    Powered by:Zzadmin.com
    本站资源搜集于网络与本站无关如有侵权请来信指出!