自定义函数改成存储过程
ALTER PROCEDURE [dbo].[pro_youbiao] AS BEGIN DECLARE @temp int,--定义的游标的变量 @error INT --记录错误 DECLARE m_cursor CURSOR FOR (select Id from t_student)--定义游标 OPEN m_cursor --打开游标 --开始循环游标变量-- FETCH NEXT FROM m_cursor into @temp WHILE @@FETCH_Status=0 --返回被 FETCH语句执行的最后游标的状态-- --这边是对数据的操作 BEGIN--beging end 相当于C#中的{} UPDATE t_student SET test=CONVERT(VARCHAR(10),@temp) where Id=@temp set @error=@error+@@ERROR -- --记录每次运行sql后是否正确,0正确 FETCH next FROM m_cursor into @temp --转到下一个游标,没有会死循环 END close m_cursor --关闭游标 deallocate m_cursor --释放游标 SELECT @error END
这是我以前学习的例子,希望对你有帮助
非常感谢你的回答,我想问的是函数的参数能不能是游标;
CREATE FUNCTION fun
(
@REF_WORKSHOPRATE CURSOR
)
@jhjs: 这个没有用过,你可以试试看