【问题标题】:OBJECTPROPERTY(Owner_Id) Does Not Work For TriggersOBJECTPROPERTY(Owner_Id) 不适用于触发器
【发布时间】:2016-01-17 14:08:58
【问题描述】:

我想获取触发器的表名。我使用带有 'OwnerId' 的 OBJECTPROPETY() 函数作为属性输入。

Select ObjectProperty(Object_Id('TriggerName'), 'OwnerId')

根据documentation,它应该返回parent_object_id。但它返回 1。我错过了什么?

我使用 SQL Server 2012 顺便说一句。

【问题讨论】:

  • 如果您认为文档是这样说的,那么您就是在阅读文档错误。
  • 那么,我应该从子对象(parent_object_id 为非null 的对象)中了解什么将始终返回与父对象相同的所有者ID
  • 触发器的父级是表。该表的 owner_id 为 1。owner_id != object_id.
  • 但我想要触发器的 parent_id。这不是真的吗:'Trigger.parent_id = Table.object_id'

标签: sql sql-server triggers sql-server-2012


【解决方案1】:

触发器的所有者是 Schema,而不是 Table。 schema_id 为 1,然后 owner_id 为 1。

【讨论】:

    猜你喜欢
    • 2020-04-24
    • 2014-05-14
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    相关资源
    最近更新 更多