注册 登录
编程论坛 SQL Server论坛

一个存储过程的问题,大家近来看看

NqIceCoffee 发布于 2006-12-08 12:32, 578 次点击

CREATE Proc ExecOder
(
@condition varchar(200),
@count int output
)

As

declare @page varchar(300)

set @page = 'select ' + Cast(@count as varchar) + '=count(*) from testPage where ' + @condition

Exec(@page)

GO

我的本意是根据输入的条件,查出数据库中有多少条对应的记录.

可执行下来好象不对.不报错!也好象没返回结果,这是怎么回事呢?

4 回复
#2
棉花糖ONE2006-12-08 12:57
这个用函数简单点,可能是你Exec(@page)再存储过程内部执行的,结果没法返回出来
#3
NqIceCoffee2006-12-08 13:16
呵呵,还没写过T-SQL的函数呢

有时间看看,这个问题怎么解决呢?期待中ing
#4
bygg2006-12-08 14:02
set @page = 'select ' + Cast(@count as varchar) + '=count(*) from testPage where 字段名=' + @condition
#5
棉花糖ONE2007-03-01 22:11

sp_executesql可以解决楼主的问题

1