首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将具有更新触发器的"DateModified“列添加到所有包含"DateCreated”列的表中

将具有更新触发器的"DateModified“列添加到所有包含"DateCreated”列的表中
EN

Stack Overflow用户
提问于 2010-09-28 00:45:47
回答 1查看 501关注 0票数 2

我有许多表,它们的[DateCreated]列也需要[DateModified]列。

[DateModified]列需要一个Update触发器,用于将当前日期(getdate())插入到这个新的[DateModified]列中。

每个表都使用自定义模式,而不是[dbo]

做这件事最简单/最好的方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-28 01:05:28

这将得到alter table语句,您可以将其剪切/粘贴到新的查询窗口中执行。我将把使用同样的技术生成create trigger语句留给读者作为练习。

代码语言:javascript
复制
select 'alter table ' + quotename(s.name) + '.' + quotename(t.name) + ' add [DateModified] datetime'
    from sys.columns c
        inner join sys.tables t
            on c.object_id = t.object_id
        inner join sys.schemas s
            on t.schema_id = s.schema_id
        left join sys.columns c2
            on t.object_id = c2.object_id
                and c2.name = 'DateModified'
    where c.name = 'DateCreated'
        and t.type = 'U'
        and c2.column_id is null /* DateModified column does not already exist */
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3805941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档