sql-server - 是否可以从其他数据库表中的触发器调用 UDF?
问题描述
我有 2 个数据库,比如 DB1 和 DB2。DB1 包含一个表,例如 MyTable,而 DB2 包含一个 UDF,例如 MyFunction。
我需要在 DB1 的 MyTable 表中创建一个插入触发器。该触发器应该调用 DB2 中的 UDF。
我在触发器中试过这个:
DECLARE @result INT
SELECT @result = DB2.[dbo].[MyFunction]
但这不起作用。
有没有办法做到这一点?
问候詹姆
解决方案
当我在不同的数据库中创建触发器并引用标量函数时没有所需的尾随()
(根据原始帖子)
CREATE TRIGGER tTEST on MD.Table
FOR INSERT
AS
SELECT DB2.dbo.LocalDateTime
我明白了
消息 4104,级别 16,状态 1,过程 tTEST,第 4 行 [批处理开始行 185] 无法绑定多部分标识符“DB2.dbo.LocalDateTime”。
我想这是你得到的错误?
所以添加所需的括号:
CREATE TRIGGER tTEST on MD.Table
FOR INSERT
AS
SELECT DB2.dbo.LocalDateTime()
推荐阅读
- c# - asp.net core 2.2 登录成功后重定向到登录
- java - 从数据库加载详细信息时光标出错
- java - 如何实现自己的高效 OS 监听器?
- c# - 如何向绑定源添加另一行?'添加到 BindingSource 列表的对象必须都是同一类型。'
- c# - MVC Razor 无法在 @foreach 循环内正确呈现 HTML
- ffmpeg - ffmpeg 在我尝试从一组帧创建视频时输出单帧视频
- python - 无法正确更改列表中的项目
- java - 在重复日期运行 java 函数
- django - 参考字段在 mongoengine 中存储什么
- javascript - 我可以使用 Javascript 将字符串转换为在 HTML 中浮动并获得平方根吗?