关于SQL中的存储过程问题?

liuwei_IT_love 2009-12-27 02:23:30
请高手帮忙解释一下,这个存储过程的功能是什么,以及每一部分的意思?我是新手,这方面不懂,帮忙解决,谢谢!



CREATE procedure xp_Service_DB
(
@OrgAddr varchar(21),
@OrgAddrType varchar(2),
@DestAddr varchar(21),
@ServiceCode varchar(20),
@Msg varchar(200),
@LinkID varchar(20),
@ReturnMsgID int output,
@ReturnFeeType int output,
@ReturnMsg varchar(200) output,
@Ret int output
)
AS
declare @Cnt int;
begin
set @Cnt = 0
select @Cnt=count(*) from msg where service = @ServiceCode
if @Cnt =0
begin
set @ReturnMsg='对不起,没有您点播的内容!';
end
else
begin
select top 1 @ReturnMsg = msg_neirong FROM msg WHERE service = @ServiceCode ORDER BY msg_id desc
end
exec xp_EasySendOneMessage @DestAddr,@OrgAddr,@ReturnMsg,@ServiceCode,'0',@OrgAddr,@LinkID
end;
GO
...全文
81 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
--小F-- 2009-12-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xman_78tom 的回复:]
试着解释一下,尽力而为。
此存储过程首先检查 msg 表中是否存在匹配 @ServiceCode 的消息记录,如果不存在,则返回信息——'对不起,没有您点播的内容!';如果存在,则获取这些消息记录中的第一条记录(msg_id 最大的),并将此消息记录与其他信息一起交由 xp_EasySendOneMessage 过程处理。

[/Quote]

这个解释不错
xman_78tom 2009-12-27
  • 打赏
  • 举报
回复
试着解释一下,尽力而为。
此存储过程首先检查 msg 表中是否存在匹配 @ServiceCode 的消息记录,如果不存在,则返回信息——'对不起,没有您点播的内容!';如果存在,则获取这些消息记录中的第一条记录(msg_id 最大的),并将此消息记录与其他信息一起交由 xp_EasySendOneMessage 过程处理。
ACMAIN_CHM 2009-12-27
  • 打赏
  • 举报
回复
[Quote]我这方面可以说是一窍不通,所以,才请各位帮忙解释下,谢谢[/Quote]那就是连 CREATE procedure / declare @Cnt int; 这种语法上的问题也需要解释了?
SQL77 2009-12-27
  • 打赏
  • 举报
回复
set @ReturnMsg='对不起,没有您点播的内容!';

看样子应该是一个点播的,

解释?

声明了一个存储过程,以及参数,

然后声明一个变量,根据条件查出赋值给变量 ,再用判断,最后执行另一条存储过程


?
liuwei_IT_love 2009-12-27
  • 打赏
  • 举报
回复
我这方面可以说是一窍不通,所以,才请各位帮忙解释下,谢谢
ACMAIN_CHM 2009-12-27
  • 打赏
  • 举报
回复
建议你先自己试着解释一下这个存储过程,否则别人也根本不知道你目前已经懂了什么,到什么层次,到底是哪儿不懂。

写出你自己的理解,然后让别人来看你的理解是否正确。 否则别人解释过简单你还是理解不了,解释得过细,可能又是根本不必要。

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧