CREATE PROCEDURE bbs_docount
@tblName varchar(255), -- 表名
@fldName varchar(255), -- 字段名
@strWhere varchar(1000) = '', -- 查询条件 (注意: 加 where)
@RecordCount int output
AS
declare @strSQL varchar(1000)
set @strSQL = 'select '+@RecordCount+'=CONVERT(int,Count('+@fldName+')) from [' + @tblName + ']'+@strWhere
exec (@strSQL)
GO
@tblName varchar(255), -- 表名
@fldName varchar(255), -- 字段名
@strWhere varchar(1000) = '', -- 查询条件 (注意: 加 where)
@RecordCount int output
AS
declare @strSQL varchar(1000)
set @strSQL = 'select '+@RecordCount+'=CONVERT(int,Count('+@fldName+')) from [' + @tblName + ']'+@strWhere
exec (@strSQL)
GO
但是提示出错:
将 varchar 值 'select ' 转换为数据类型为 int 的列时发生语法错误。CREATE PROCEDURE bbs_docount
@tblName varchar(255), -- 表名
@fldName varchar(255), -- 字段名
@strWhere varchar(1000) = '', -- 查询条件 (注意: 加 where)
@RecordCount int output
AS
declare @strSQL varchar(1000)
set @strSQL = "select "+@RecordCount+"=CONVERT(int,Count("+@fldName+")) from [" + @tblName + "]"+@strWhere
exec (@strSQL)
GO
是什么意思单/双引号没有什么区别吧
但是提示出错:
将 varchar 值 'select ' 转换为数据类型为 int 的列时发生语法错误。CREATE PROCEDURE bbs_docount
@tblName varchar(255), -- 表名
@fldName varchar(255), -- 字段名
@strWhere varchar(1000) = '', -- 查询条件 (注意: 加 where)
@RecordCount int output
AS
declare @strSQL varchar(1000)
set @strSQL = "select "+@RecordCount+"=CONVERT(int,Count("+@fldName+")) from [" + @tblName + "]"+@strWhere
exec (@strSQL)
GO
@tblName varchar(255), -- 表名
@fldName varchar(255), -- 字段名
@strWhere varchar(1000) = '', -- 查询条件 (注意: 加 where)
@RecordCount int output
AS
declare @strSQL nvarchar(8000)
set @strSQL = 'select @RecordCount=Count('+@fldName+') from [' + @tblName + '] '+@strWhere
exec sp_executesql @sql,N'@RecordCount int output',@RecordCount output
GO