declare @tcnt int
declare @paras varchar(100)
DECLARE @SQLString NVARCHAR(500)
set @paras ='1,3,5'
set @sqlstring=N'select @cnt=count(*) from sysobjects where id in ('+@paras+')'set @tcnt=0
execute sp_executesql
@sqlstring,
N'@cnt int output',
@cnt=@tcnt output
select @tcnt
select * from sysobjectsCreate Procedure GetMaxID
@TableName varchar(100), @ID int output
as
begin
declare @sql nvarchar(1000)
set @sql='select @ID = count(ID) from '+@TableName
exec sp_executesql @sql,N'@id int output',@id output
end
declare @paras varchar(100)
DECLARE @SQLString NVARCHAR(500)
set @paras ='1,3,5'
set @sqlstring=N'select @cnt=count(*) from sysobjects where id in ('+@paras+')'set @tcnt=0
execute sp_executesql
@sqlstring,
N'@cnt int output',
@cnt=@tcnt output
select @tcnt
select * from sysobjectsCreate Procedure GetMaxID
@TableName varchar(100), @ID int output
as
begin
declare @sql nvarchar(1000)
set @sql='select @ID = count(ID) from '+@TableName
exec sp_executesql @sql,N'@id int output',@id output
end
解决方案 »
- SQL简单问题
- 如何将字符串"1,2,3,4,5"转换成集合?然后在sql2000 中用 IN 查询id属于集合的结果?
- 关于触发器(寻求帮助)触发器for insert 后可以添加条件吗?
- 怎样在安装了SQL2000和SQL2008的电脑上使用高版本的数据库
- 关于搜索的问题
- 如何在instead of update触发器中实现触发后只对一个字段进行处理,其余字段照旧?
- MS-SQLSERVER可以抛出异常吗?怎样?
- 500分问题
- 同喜,同喜
- Developer2000 和oracle personal
- 如何以SQL语句的方式去掉某一列的 IDENTITY(标识列)?
- 从6。5升级到2000要主意什么事情?直接安装2k会自动升级吗?
select @ls_Sqlstatement = ' select ' + @li_bl +' = cast(discount as int) from ' + @ls_tsmtab
declare @ls_Sqlstatement Nvarchar(100), --注意这里的数据类型
@ls_tsmtab varchar(9),
@li_dmlb decimal(4, 0),
@li_dmsb decimal(6 ,0),
@li_bl intselect @ls_tsmtab = 'tsm00000'
select @li_dmlb = 1
select @li_dmsb = 0select @ls_Sqlstatement = ' select @rli_bl= discount from ' + @ls_tsmtab --这里做调整
select @ls_Sqlstatement = @ls_Sqlstatement + ' where itemtype = '+ str(@li_DMlb) + ' and itemcode = '+ str(@li_dmsb)exec sp_executesql @ls_Sqlstatement,N'@rli_bl int output',@li_bl output --这里改为动态参数传递的执行方式print @li_bl
问题解决了