我有一个存储过程执行的时候要输入参数,如果再VB.NET中注解 参数动态赋值值?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&9512人阅读
&&&& 今天遇到一个问题,需要在存储过程中执行一段sql字符串,并且需要给存储过程的变量赋&#20540;。
开始写的代码如下:
create&proc&PROC_test
@tablename&varchar(20),
@userName&varchar(10)&output
delcare&@baseSql&varchar(8000)
set&@baseSql='select&@userName=name&from&
exec(@baseSql)
print&@userName
上面代码就会报错:必须声明标量变量 &@typeName,原因是exec 执行的字符串是一个单独的整体,&@userName并没有在字符串中定义。后来在以前的存储过程中找到了解决方法,利用系统自带的拓展存储过程 sp_executesql可以解决需求,sp_executesql @Sql,N'@userName varchar(80) OUTPUT',@userName OUTPUT -- 参数:1、sql语句;2、定义输出参数;3、接收输出参数
正确的代码如下:
&create proc PROC_test
declare @baseSql nvarchar(4000)--类型为ntext/nchar/nvarchar 的参数
,@userName varchar(80)
set @baseSql='select top 1 @userName=typeName from T_Ent_Type'
EXEC sp_executesql @baseSql,N'@userName varchar(80) OUTPUT',@userName OUTPUT -- 参数:1、sql语句;2、定义输出参数;3、接收输出参数
print @userName
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:82276次
积分:1210
积分:1210
排名:千里之外
原创:35篇
转载:45篇
(1)(2)(3)(1)(3)(1)(4)(2)(2)(2)(1)(1)(1)(1)(5)(2)(1)(1)(1)(2)(3)(3)(8)(3)(4)(11)(4)(6)(1)创建带输出参数的存储过程,生成存储过程时候没问题,执行的时候一再提示“必须声明标量变量 @KECHENGMING‘’。
[问题点数:20分,结帖人ap0405140]
创建带输出参数的存储过程,生成存储过程时候没问题,执行的时候一再提示“必须声明标量变量 @KECHENGMING‘’。
[问题点数:20分,结帖人ap0405140]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2013年 总版技术专家分年内排行榜第二
2014年8月 总版技术专家分月排行榜第一2014年7月 总版技术专家分月排行榜第一2014年6月 总版技术专家分月排行榜第一2014年5月 总版技术专家分月排行榜第一2014年4月 总版技术专家分月排行榜第一2014年3月 总版技术专家分月排行榜第一2014年1月 总版技术专家分月排行榜第一2013年12月 总版技术专家分月排行榜第一
2011年12月 总版技术专家分月排行榜第三2011年9月 总版技术专家分月排行榜第三
2011年6月 MS-SQL Server大版内专家分月排行榜第一
2011年12月 总版技术专家分月排行榜第三2011年9月 总版技术专家分月排行榜第三
2011年6月 MS-SQL Server大版内专家分月排行榜第一
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 执行带参数的存储过程 的文章

 

随机推荐