| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 642 人关注过本帖
标题:带参数的存储过程
只看楼主 加入收藏
fqbnet2008
Rank: 2
等 级:新手上路
威 望:4
帖 子:1020
专家分:0
注 册:2007-1-4
结帖率:100%
收藏
 问题点数:0 回复次数:3 
带参数的存储过程

表结构
TextLast number varchar(50)
B_black col001 varchar(50)
存储过程的作用 删除TextLast 中 number = col001 的所有的记录
因为类似B_black的表很多,所以建一个存储过程

go
create proc operdata( @tb_name nvarchar(100),@ncounts int out)
as
begin
declare @ncount int
declare @sql nvarchar(4000)
set @sql='select @ncount = count(*) from TextLast where TextLast.number in (select number from TextLast a, '+@tb_name+' b where a.number = b.col001) '
exec sp_executesql @sql,N'@ncount int out',@ncount out
if(@ncount!=0)--如果没有符合条件的记录,就不用执行下面的删除
begin
set @sql='delete from TextLast where TextLast.number in (select number from TextLast a, '+@tb_name+' b where a.number = b.col001)'
exec sp_executesql @sql
set @ncount=@@ROWCOUNT
end
set @ncounts=@ncount

end
创建成功

declare @n int
exec [operdata](N'B_black',@n out)
执行的时候出错了

服务器: 消息 170,级别 15,状态 1,行 2
第 2 行: 'B_133black' 附近有语法错误。

搜索更多相关主题的帖子: 参数 
2007-06-27 11:51
fqbnet2008
Rank: 2
等 级:新手上路
威 望:4
帖 子:1020
专家分:0
注 册:2007-1-4
收藏
得分:0 
有人吗?帮我看一下,

雄关漫道真如铁,而今迈步从头越,从头越,苍山如海,残阳如血㊣♀★
2007-06-27 11:59
fqbnet2008
Rank: 2
等 级:新手上路
威 望:4
帖 子:1020
专家分:0
注 册:2007-1-4
收藏
得分:0 
我晕了, 怎么没有人呢?

雄关漫道真如铁,而今迈步从头越,从头越,苍山如海,残阳如血㊣♀★
2007-06-28 14:37
laoliu515
Rank: 1
等 级:新手上路
威 望:1
帖 子:15
专家分:0
注 册:2007-6-20
收藏
得分:0 
你既然创建了存储过程,你为什么还要用sp_executesql呢?
2007-07-05 18:28
快速回复:带参数的存储过程
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014086 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved