关于函数中使用UPDATE语句的问题!! 你看看联机帮助,在SQL中函数的用法! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我已经看过了,不过还是不知道错在哪了...在存储过程中这样的语句是没有问题的..为什么函数中就不行呢?下面在我在联机帮助中找的一段,感觉和我写的没有什么差别啊!!UPDATE @reports SET processed = 1 WHERE processed = 0 把declare @money1 smallmoney,@money2 smallmoney放到前面申明 未在下面的列表中列出的语句不能用在函数主体中。 赋值语句。控制流语句。DECLARE 语句,该语句定义函数局部的数据变量和游标。SELECT 语句,该语句包含带有表达式的选择列表,其中的表达式将值赋予函数的局部变量。游标操作,该操作引用在函数中声明、打开、关闭和释放的局部游标。只允许使用以 INTO 子句向局部变量赋值的 FETCH 语句;不允许使用将数据返回到客户端的 FETCH 语句。INSERT、UPDATE 和 DELETE 语句,这些语句修改函数的局部 table 变量。EXECUTE 语句调用扩展存储过程。 --------------------update语句只能改变函数的局部table变量,不能改变数据库中的表!!! 谢谢 wzh1215(四脚蛇),看来我看书太过肤浅了.. 数字自动增加 “在事务中,不能存在多个使用此游标类型的记录集”问题 查询出所有重名的员工信息 紧急求高手...SA密码忘记.WINDOWS验证也不行 c#程序将dataset导入到access表中 数据库附加错误,请大家快来看看呀,系统已经不能用了.特急情况!!! SQL语句拆分表中内容,并变成两列 MySQL,SQL如何学习 小小问题 关于数据库里面的日期查询. 关于日期型与数字型的问题? 问个问题,急,高手看来很简单的问题。在线等待~~~~~~~~~~~~
在存储过程中这样的语句是没有问题的..为什么函数中就不行呢?
下面在我在联机帮助中找的一段,感觉和我写的没有什么差别啊!!
UPDATE @reports
SET processed = 1
WHERE processed = 0
控制流语句。
DECLARE 语句,该语句定义函数局部的数据变量和游标。
SELECT 语句,该语句包含带有表达式的选择列表,其中的表达式将值赋予函数的局部变量。
游标操作,该操作引用在函数中声明、打开、关闭和释放的局部游标。只允许使用以 INTO 子句向局部变量赋值的 FETCH 语句;不允许使用将数据返回到客户端的 FETCH 语句。
INSERT、UPDATE 和 DELETE 语句,这些语句修改函数的局部 table 变量。
EXECUTE 语句调用扩展存储过程。 --------------------
update语句只能改变函数的局部table变量,不能改变数据库中的表!!!