用户定义函数:禁止插入表语句

Posted

技术标签:

【中文标题】用户定义函数:禁止插入表语句【英文标题】:User defined function : insert into a table statement forbidden 【发布时间】:2013-03-12 12:30:18 【问题描述】:

我想在我的 SQL 数据库中编写一个 ud 函数,以便在 dbo 表中的特定表中编写过程日志记录。

我希望我的数据库中的任何存储过程都可以调用这个特定的函数。

我不知道我可以使用什么样的解决方案。我了解到只有 3 种 UDF 可用。

有什么建议吗?

谢谢。

【问题讨论】:

【参考方案1】:

UDF 必须始终没有副作用。这意味着您不能在函数内更改表中的数据。

如果您希望从存储过程调用您的记录器,为什么不将它也实现为存储过程?

【讨论】:

我认为作为函数方法更好!但是如果没有解决方案,我会按照你的建议去做。谢谢。

以上是关于用户定义函数:禁止插入表语句的主要内容,如果未能解决你的问题,请参考以下文章

sql 语句插入表后怎么定义插入字段的类型?

数据库原理与应用(SQL Server)笔记 第十章 用户定义函数

如何导出存储过程函数包和触发器的定义语句?如何导出表和索引的创建语句?

如何从两个表创建插入语句脚本

如何在SQL语句中使用FUNCTION

T-SQL编程 —— 用户自定义函数(标量函数)