错误提示:必须声明变量 '@tbstr'
目的:通过传递参数选择不同表,再进行处理
CREATE PROCEDURE test
@tbstr varchar(30)=''
AS
DECLARE test_cursor CURSOR FOR
select * from @tbstr
open test_cursor
--'''''
CLOSE test_cursor
DEALLOCATE test_cursor
GO
目的:通过传递参数选择不同表,再进行处理
CREATE PROCEDURE test
@tbstr varchar(30)=''
AS
DECLARE test_cursor CURSOR FOR
select * from @tbstr
open test_cursor
--'''''
CLOSE test_cursor
DEALLOCATE test_cursor
GO
解决方案 »
- vb 中如何防止SQL 语句注入? 哪位大神给指条活路
- VB的Textbox限制输入问题?
- 关于VsFlexgrid的问题
- imagelist的图片为什么变得模糊了?
- 关于datagrid的疑惑????@_@
- 今天偶生日,高兴ing... 散分! 顺便纪念抗日英雄们!
- 这些是什么字符?
- VB.net怎么跟VB6.0差别那么大,VB6.0还有用吗?
- 如何实现VB 读取excel 保存到 sqlserver
- 如何判断一个点是否在一个任意四边形之内(数学问题了)
- 大家来对对联(竞赛),弘扬中国千年文字艺术,程序员不是盖的!!!
- 有感于论坛中获得cpu、主板、硬盘物理序列号的答案杂乱无章,标准不一,适用性差,版主及高手能不能总结一个比较好的方案,供大家使用!
CREATE PROCEDURE test1
@tbstr varchar(30)=''
AS
declare @vartable varchar(100)
set @vartable ='DECLARE test_cursor CURSOR FOR
select * from '+ @tbstr +'
open test_cursorCLOSE test_cursor
DEALLOCATE test_cursor'execute(@vartable)
GO
http://community.csdn.net/Expert/topic/3219/3219498.xml?temp=.6246607用一個變量來代替declare @tab varchar(100)
declare @sql varchar(1000)set @sql='select * from '+@tab
exec @sql
exec(' DECLARE test_cursor CURSOR FOR select * from '+@tbstr+'')
DECLARE @CompanyName varchar(40)
set @tbstr='Customers'exec(' DECLARE test_cursor CURSOR FOR select CompanyName from '+@tbstr+'')
open test_cursorFETCH NEXT FROM test_cursor INTO @CompanyName
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @CompanyName
FETCH NEXT FROM test_cursor INTO @CompanyName
ENDCLOSE test_cursor
DEALLOCATE test_cursor
open test_cursor
CLOSE test_cursor
DEALLOCATE test_cursor