使用 SQL 函数更新 table

update table with SQL function

我想更新 table 中的数据(对于 sqlserver 和 oralce 版本)。

我创建了如下存储过程,但我想将其转换为 SQL 函数,请问是否可以在 SQL 函数中更新数据?

CREATE PROCEDURE updatetable (@A1 INTEGER, @A2 VARCHAR(4000) )
AS
  BEGIN
        BEGIN
            UPDATE table SET column1= column1+ @A1 WHERE column2= @A2 ;
        END    
  END

对于 SQL 服务器。

简单地说:

没有

一个函数不能改变系统(抛开严重和危险的黑客攻击不谈)。来自 the documentation(强调我的):

Specifies that a series of Transact-SQL statements, which together do not produce a side effect such as modifying a table

如果您可以解释您试图用存储过程无法完成的功能来完成什么,那么您可能会问一个有多个 yes/no 答案的问题,并且您可能会得到有用的替代品。