SQL DDL触发器

快来打我* 2022-06-15 00:37 237阅读 0赞
  1. --同一个数据库服务器上 不同数据库 表结构同步
  2. CREATE PROCEDURE PRO_DB_DDL
  3. (@sql nvarchar(max))
  4. as
  5. begin
  6. set nocount on
  7. declare @str nvarchar(max)
  8. set @str=' use mytest '
  9. set @str=@str+' '+@sql
  10. execute (@str)
  11. end
  12. GO
  13. CREATE Trigger db_triGG on DATABASE for create_table
  14. as
  15. begin
  16. set nocount on
  17. DECLARE @SQL NVARCHAR(MAX)
  18. SET @SQL='';
  19. SELECT @SQL=EVENTDATA().value
  20. ('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]','nvarchar(max)')
  21. EXEC PRO_DB_DDL @SQL
  22. end
  23. CREATE TABLE aa(ID INT)
  24. GO
  25. DROP TABLE aa
  26. 或者
  27. Create Trigger db_triGG on DATABASE for create_table
  28. as
  29. begin
  30. set nocount on
  31. DECLARE @SQL NVARCHAR(MAX)
  32. SET @SQL=' USE MYTEST ';
  33. SELECT @SQL=@SQL+EVENTDATA().value
  34. ('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]','nvarchar(max)')
  35. EXEC (@SQL)
  36. end

发表评论

表情:
评论列表 (有 0 条评论,237人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SQL触发器

    1、MySQL包含对触发器的支持。触发器是一种与表操作有关的数据库对象, 当触发器所在表上出现指定事件时,将调用该对象, 即表的操作事件触发表上的触发器的执行。 2、

    相关 SQL 触发器

    什么触发器? 定义 修改指定表中的数据时执行的存储过程 与存储过程区别 触发器通过实践进行触发执行,存储过程通过存储过程名字直接调用 使用原

    相关 SQL Server 触发器

    触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。 Ø 什么是触发器

    相关 SQL DML 和 DDL

    可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。 SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入