求一个sql语法怎么写?
CREATE PROCEDURE PRO_AAAAS
BEGIN
DECLARE @WW VARCHAR(50)
SELECT @WW='MLL>=0.5'
SELECT COUNT(*) FROM TEMP WHERE @WW
END
上面的我只是写一个小例子,意思条件@WW是变化的,请怎么写才能成功!愚昧一天了,高手帮帮忙吧 --------------------编程问答-------------------- DECLARE @ww nvarchar(1024)
DECLARE @sql nvarchar(1024)
SET @ww='MLL> =0.5'
SET @sql='SELECT COUNT(*) FROM TEMP WHERE '+ @WW
EXEC sp_executesql @sql --------------------编程问答-------------------- 楼上的兄弟,非常感谢你的回复!可是我用的是SYBASE数据库,没有sp_executesql过程呀 --------------------编程问答-------------------- 直接 exec(@sql) --------------------编程问答-------------------- 谢谢两位,那exec(@sql)后,我怎么那个结果count(*)再赋给一个变量呢? --------------------编程问答--------------------
DECLARE @cnt int
set @sql='SELECT @cnt= COUNT(*) FROM TEMP WHERE '+ @WW
exec(@sql)
--------------------编程问答-------------------- lcw321321兄,非常感谢你,你上面的语法,我试过了,有可能在sqlserver里没有问题,可是在SYBASE里总提示我说变量@cnt没有声明,可是我明明声明了呀!愚昧死了 --------------------编程问答-------------------- 一般用exec(@str) 没那么多限制 像select top num * from table中直接select 后的top是不能接参数的
所有直接用exec(@str)比较好
补充:.NET技术 , ASP.NET