第一次CLR触发器执行错误

时间:2015-02-26 13:56:54

标签: c# sql-server sqlclr

我有一个CLR触发器,它首先要做的是获取与触发器关联的表名,如下所示:

public static void MyTrigger()
{
    using (SqlConnection conn = new SqlConnection(@"context connection=true"))
    {
        conn.Open();

        command.CommandText = @"SELECT object_name(resource_associated_entity_id) FROM sys.dm_tran_locks WHERE request_session_id = @@spid and resource_type = 'OBJECT'";
        string tableName = command.ExecuteScalar().ToString();

        //etc...
    }
}

第一次执行触发器时,上述命令返回的表名始终为syscolpars。如果再次执行触发器,则表名称将正确返回。

数据库引擎是SQL Server 2014 Express。

为什么会这样?

0 个答案:

没有答案