SQL 数据库高手请进

来源:百度知道 编辑:UC知道 时间:2024/05/26 12:17:01
这个片段的存储过程,每一个怎么调用啊。。。

create procedure deletearticle
@id int
as
declare @topid int
set @topid=dbo.GetTopID(@id)
delete Article where id=@topid or father_id=@topid

go

create procedure ListArticles
as
select id,browse_times,dbo.GetReplyTimes(id) as reply_times,title,compose_date,
dbo.GetUserName(author_id)as author,dbo.GetLastReplyDate(id) as last_reply_date,
dbo.GetLastReplyMan(id) as last_reply_man
from Article where father_id=-1 order by compose_date
declare @createlistarticle

go

create procedure GetArticle
@id int
as
update article set browse_times =browse_times+1
where id=@id or father_id=@id

select id,dbo.GetReplyTimes(id) reply_times,title,dbo.GetUsername(author_id) author,[content]
from article
where id=@id or father_id=@id
order by compose_date asc
go

create procedure GetOneArticle
@id int
as

主要分为两种情况,
带输入参数的 存储过程 与 不带输入参数的 存储过程,
1.对于带输入参数的 存储过程
调用的时候需要写上 execute 存储过程名 传入参数列表
例如:execute deletearticle 1
2.对于不带输入参数的 存储过程
调用的时候需要写上 execute 存储过程名
例如:execute ListArticles
这样就可以调用执行对应的存储过程,
如果还有问题,可以通过百度Hi继续进行交流,
呵呵,希望能有帮助,^_^

是说我吗?

exec 过程名 参数1,参数2

例如第一个: exec deletearticle 21

begin
存储过程名;
end;

exec deletearticle 5 --5可以改成任意一个数字,视具体情况而定,下同
exec ListArticles
exec GetArticle 5
exec GetOneArticle 5
exec GetallUsers
exec GetRoleOfUser 'Tom' --Tom表示人名,视具体情况而定

存储过程调用方法:
1.EXEC 存储过程名 (这种属于没有变量的)
2.EXEC 存储过程名 变量值 (这种属于有变量的,调用的使用需要输入变量的值)
3.EXEC 存储过程名 变量名='' (这种根第2个是一样的,只是指定了变量名将值赋给了它)

举例:
从你给出的存储过程
deletearticle 属于有变量的 假如ID='5'
调用方法: EXEC deletearticle 5 或者 EXEC deletearticle id='5'

ListArticles 属于没有变量的
调用方法:EXEC ListArticles