我使用的是 SQL Server 2014 标准版。我正在开发一个供应链 DW,我目前正在构建一个登陆模式,该模式将用于登陆来自源系统的数据,然后将该数据移动到暂存模式以开始 ETL 过程。在将那几天的数据移入 Staging 后,我正在截断登录表。我在触发器中使用 Hashbytes,它将向每个记录添加一个哈希值,以便在向上游移动时进行比较。
CREATE TRIGGER trgr_hashval_mara ON land.mara
FOR UPDATE, INSERT AS
UPDATE land.mara
SET HashVal = (SELECT hashbytes('md5', (SELECT material, MaterialDesc FOR xml raw)));
Run Code Online (Sandbox Code Playgroud)
我可以整天创建这些,但我无法使用如下的常规语法删除它们。执行 DROP 语句会产生错误。
DROP TRIGGER trgr_hashval_mara;
Run Code Online (Sandbox Code Playgroud)
"Can't find trigger or you don't have permission to drop trigger."
但是,以下语句返回了我创建的触发器列表。
select * from ibscm01.sys.triggers
Run Code Online (Sandbox Code Playgroud)
我似乎也无法在 DB 树中找到它们。我看到了 Database Triggers 子项,但没有显示项目/触发器。我正在使用 Toad for SQL server 6.7,它应该是当前版本。还使用带有 AD 的 Windows 身份验证,并且我具有 dbo 权限。
谢谢,帕特
sql-server ×1