日期:2014-05-18  浏览次数:20419 次

问一个SQL语法的问题
用select   aa   from   table     查询出来的aa这个字段的值去执行一段自定义函数,是循环执行.     应该怎么写?

谢谢!

------解决方案--------------------
用游標,
declare @a varchar(100)
declare cur1 cursor for
select aa from table
OPEN cur1

FETCH NEXT FROM cur1
into @a
WHILE @@FETCH_STATUS = 0
begin
....
end


------解决方案--------------------
如果标量函数,可以直接调用,用列名作函数,例如:

--自定义的标量函数fun_define()直接调用:
select fun_define(aa) from table

如果是内嵌表值函数或多语句表值函数,即函数返回的是一个表——记录集,则不能直接调用,要通过游标取出单个aa的值,再调用。