读书人

存储过程有关问题哪位好心的朋友帮忙

发布时间: 2012-01-18 00:23:26 作者: rapoo

存储过程问题,哪位好心的朋友帮忙看看,急~~~~~~~~~~~~~~~~~
我有一个存储过程,一个参数指定要操作的表名,一个指定条件
create PROCEDURE userPC
@tableName varchar(100),
@condition varchar(250),
@RecordCount int output
as
SET NOCOUNT ON --指示存储过程不返回查询影响的行数

SELECT @RecordCount = COUNT(*) FROM @tableName where @condition
go

在查询分析器里运行的时候出现如下错误,请哪位高手帮忙看看,谢谢!!!

////////////////////////////////////////////////
服务器: 消息 137,级别 15,状态 2,过程 userPC,行 8
必须声明变量 '@tableName'。

真的很急

[解决办法]
呵呵 看错了 要这么写的,但是where @condition 是什么意思?
Declare @sql nvarchar(255)
set @sql= ' ';
set @sql='SELECT'+ @RecordCount+ '=COUNT(*) FROM'+ @tableName+ 'where' +@condition
exec(@sql)


[解决办法]

SQL code
create   PROCEDURE   userPC                     @tableName     varchar(100),                   @condition     varchar(250),                   @RecordCount   int   output as SET   NOCOUNT   ON   --指示存储过程不返回查询影响的行数     DECLARE @sql NVARCHAR(100)SET @sql = N'SELECT @count=COUNT(*) FROM ' + @tableName + ' WHERE ' + @conditionEXEC sp_executesql @sql, N'@count INT OUTPUT', @count=@RecordCount OUTPUTgo
[解决办法]
随手敲的,未测试.



SQL code
DECLARE @sql NVARCHAR(1000),@count INTSET @sql=N'SELECT @count=COUNT(*) FROM ' + @tableName + ' WHERE ' + @condationEXEC sp_executeSQL @sql,N'@count INT OUTPUT',@count OUTPUT
[解决办法]
SQL code
CREATE PROC procName( @id INT, @x VARCHAR, @count INT OUTPUT)AS   BEGIN      SELECT * FROM tb WHERE id=@id AND v LIKE '%' + @x + '%'      SELECT @count=@@ROWCOUNT   END 

读书人网 >asp.net

热点推荐