SQL Server 2005 - 将列设置为只读

2023-11-23

我在 SQL Server 2005 数据库的表中有一个“InsertTime”字段,当记录首次插入数据库时​​,该字段默认为“getDate()”。我想确保此专栏不再更新。

是否可以将此列设置为只读,或者是否有更好的方法来执行此操作,而无需为开发人员编写所有 sql?


您可以通过创建一个 UPDATE 触发器来检查该列的更新,然后将其回滚,从而实现“只读”字段。

IF EXISTS (SELECT name FROM sys.objects
      WHERE name = 'ReadOnlyInsertTime_tr' AND type = 'TR')
   DROP TRIGGER dbo.ReadOnlyInsertTime_tr;
GO

CREATE TRIGGER ReadOnlyInsertTime_tr
ON dbo.MyTable
AFTER UPDATE 
AS 
IF (UPDATE(InsertTime))
BEGIN
ROLLBACK
-- Raise an informative error
-- RAISERROR (50009, 16, 10)
END;
GO
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server 2005 - 将列设置为只读 的相关文章

  • t-sql 中的行相乘

    我有下表 ID Number 1 41 5 2 42 5 3 43 5 2 44 5 2 45 5 1 46 5 1 47 5 我需要编写一个查询 该查询将返回不同的 ID 和相应的 Number 列值相乘 对于给定的表结果应该是这样的 I
  • SQL Server 中数据库数量的实际限制?

    在 stackoverflow 播客之一 我认为是 18 中 Jeff 和 Joel 正在讨论多租户数据库与单租户数据库 Joel 提到 FogBugz on Demand 使用了每个客户架构的数据库 我想知道是否有一个点超过这个点 您将需
  • NULL 与空字符串

    以下查询有什么区别及其工作原理 SELECT FROM some table WHERE col IS NOT NULL SELECT FROM some table WHERE col lt gt 问候 穆巴拉克 The NULL是特殊数
  • 写入 SQL 时遇到问题

    我已经用 VB Net 编写了几个月了 并且在我的代码中成功地使用了 SQL 命令很多次 但是在写入数据库中的一个特定表时遇到了问题 我相信问题在于我有一个正在尝试写入的数字列 我得出这个结论是因为它是我不经常使用的唯一一个 并且我的代码不
  • 从视图中的动态表名称中选择

    我的客户每年都会创建一个新表 其名称中包含年份 我必须在 SQL Server 数据库的新视图中使用该表 我已经通过一个查询解决了这个问题 DECLARE SQLString nvarchar 500 SET SQLString SELEC
  • SQL Server 中的“with (nolock)”是什么?

    有人可以解释使用的含义with nolock 关于查询 什么时候应该 不应该使用它 例如 如果您有一个银行应用程序 交易率很高并且某些表中有大量数据 那么在什么类型的查询中 nolock 是可以的 是否存在您应该始终使用它 从不使用它的情况
  • 将 char 数据类型转换为 datetime 数据类型导致日期时间值超出范围

    我正在努力将数据从 Excel 导入到 SQL Server 我在 sql server 中插入日期和日期时间值时遇到问题 它向我展示了这个错误 System Data SqlClient SqlException The conversi
  • 无法将参数值从 TimeSpan 转换为 DateTime

    我正在使用 SQL Server 2008 首先我给了SqlDbType Time for System TimeSpan插入和更新的参数类型 我工作成功 现在我改为DbType Time代替SqlDbType Time 这给了我错误消息
  • SQL Server:使用计算列批量插入表

    我尝试使用 bcp 将文本文件中的数据插入到具有计算列的 SQL Server 2016 表中 我的 bcp 命令 bcp Test dbo myFirstImport IN D myFirstImport txt f D myFirstI
  • 为什么从 SQL Server 2000 升级到 2005 会导致查询速度变慢?

    将数据库从 SQL Server 2000 升级到 SQL Server 2005 会导致查询速度变慢 是否有任何常见原因 这是来自具有数百个表的 ASP NET 1 1 应用程序 所有内容都已索引 并且似乎在旧版本上运行良好 升级后 您需
  • 实体框架 - 悲观锁定

    我想做的基本上是NHibernate 做什么 http knol google com k nhibernate chapter 10 transactions and concurrency 10 282E 296 282E 29 28C
  • 选择出现多次的行

    TableOne PersonId PersonScore 1 10 1 20 2 99 2 40 3 45 我只需要获取 PersonId 多次出现的那些行 例如以下是我想要实现的结果集 PersonId PersonScore 1 10
  • 而不是SQL Server中的触发器丢失SCOPE_IDENTITY?

    我有一个表 我在其中创建了一个INSTEAD OF触发执行一些业务规则 问题是当我将数据插入该表时 SCOPE IDENTITY 返回一个NULL值 而不是实际插入的身份 插入 范围代码 INSERT INTO dbo Payment Da
  • T-SQL - 将日期时间更改为日期数据类型?

    我有一个专栏BirthDate在使用的表中datetime数据类型 目前 这些值类似于以下格式1987 12 30 00 00 00 000 我想更新该表的所有行 将它们更改为以下格式date数据类型 1987 12 30 我可以运行 SE
  • 如何将 Byte[] 转换为数据以在 SQL Server 中的 varbinary(max) 列中插入值?

    我有一个对象byte 属性 我想将此值转换为正确的值 以便可以使用 T SQL 将其插入数据库 但我不知道如何转换byte 为 T SQL 插入的正确值 Thanks 创建一个控制台应用程序项目并尝试此代码 Sample Class pub
  • 如何使用 SQL 获取数据库中所有表的列表?

    获取 SQL Server 上特定数据库中所有表的名称的最佳方法是什么 SQL Server 2000 2005 2008 2012 2014 2016 2017 或 2019 SELECT FROM INFORMATION SCHEMA
  • “'OFFSET'附近的语法不正确”将sql comm 2012修改为2008

    我用这个列出问题 SELECT q qTitle q qDescription q qCreatedOn u uCode u uFullname qcat qcatTitle q qId q qStatus FROM tblQuestion
  • 变更数据捕获性能损失是否仅限于启用 CDC 的表?

    我读到启用更改数据捕获显然会对数据库性能产生影响 这种性能损失是否仅影响启用了 CDC 的表 还是会影响数据库中的所有操作 在我的情况下 我使用 SSIS 并且有大量数据移入和移出临时数据库 我的系统中还有一些用于转换的查找表 我希望使用
  • 对存储过程内容的只读访问

    是否可以设置 SQL Server 来为开发人员提供对生产数据库上存储过程内容的只读访问权限 您可以授予他们VIEW DEFINITION这些进程的特权 See here http msdn microsoft com en us libr
  • 如何使用 php $row 检索 sql 日期时间对象?

    例如 sql SELECT FROM db query sqlsrv query conn sql while row sqlsrv fetch array query echo row date column 会崩溃 我找到的大多数答案都

随机推荐

  • 将“new-row”的 DataGridViewImageColumn 中的“red-cross”替换为自定义图像

    如果您指定AllowUserToAddRows在winforms中DataGridView用户可以在网格中手动添加新行 现在我想在一列中添加一个图像按钮 该按钮也应该显示在新行中 但我无法让它显示图像 只显示红十字图像 就像没有找到一样 这
  • Spring自定义注解多字段验证

    这里有一个有点贪心的问题 希望这个问题也能帮助其他想了解更多注释验证的人 我目前正在学习Spring 目前 我计划尝试一下自定义注释验证 我查了很多 现在知道主要有两种验证 一种是用于控制器的 另一种是使用 Valid的注解方法 这是我的场
  • PHP 在所有请求中保留变量

    在某些语言 C 或 NET 中 这将是静态变量 但在 PHP 中 每次请求后都会清除内存 我希望该值在所有请求中持续存在 我不想 SESSION 因为每个用户的情况都不同 为了帮助解释这里有一个例子 我想要一个像这样的可以计数的脚本 无论哪
  • 在 File.Create 之后关闭文件[重复]

    这个问题在这里已经有答案了 我检查文件是否存在 if File Exists myPath File Create myPath 但是 当我去创建一个StreamReader使用这个新创建的文件 我收到一条错误消息 该进程无法访问文件 此处
  • 摆脱停用词和标点符号

    我正在与 NLTK 停用词作斗争 这是我的代码 有人可以告诉我出了什么问题吗 from nltk corpus import stopwords def removeStopwords palabras return word for wo
  • 为什么在 HTC Desire 上发送短信时出现 NullPointerException,或者什么是 SubmitPdu?

    所以我得到这个堆栈跟踪 java lang NullPointerException at android telephony SmsMessage SubmitPdu
  • Akka:如何查找集群中的当前节点?

    从 Akka actor 内部 如何找到集群的节点 即本节点认为当前可以访问的节点 谢谢 丹尼尔 您实际上不需要订阅ClusterDomainEvent or MemberEvent 您只需访问state集群扩展的成员 例如 val clu
  • 相同美学的多个传说

    我正在尝试使用facet grid or facet wrap和这个结合geom raster 然而 在每个面板中 z审美是不同尺度的 例如 Data at end of question ggplot dd aes x y geom ra
  • 没有可以捕获托管变量的 lambda 的解决方法

    在 C CLI 中 您无法创建托管 lambda 就像在 C 中一样 因此无法捕获托管变量 您可以创建常规方法 而不是 lambda 但您仍然无法捕获托管变量 C CLI 代码中是否有可采用的标准解决方法 换句话说 我正在寻找一个可以在 C
  • 如何在 symfony2 中禁用数据库配置

    我正在开发的新应用程序正在使用 Symfony2 没有可供使用的数据库连接 相反 它是建立在许多 Web 服务调用之上的 在 Symfony app config 下 我想删除所有 database 条目 但是当我这样做时 我得到一个 Pa
  • 如何在 elastic beanstalk 中扩展 nginx 配置 (Amazon Linux 2)

    我听从了建议here配置 nginx 反向代理以允许大于默认 1mb 的文件 所以 我的代码在 platform nginx conf d prod conf看起来像这样 http client max body size 30M 然而 这
  • 适用于 iPhone 的 UIPOPOVER?或者是假的?

    谁能看一下这个吗 http www woowoomac com storage awesome note iphone note todo app menus jpg SQUARESPACE CACHEVERSION 12685817624
  • 如何让 CRON 调用正确的路径

    我试图让 cron 调用正确的路径 当我从 shell 运行 Python 脚本时 脚本运行良好 因为它使用 bashrc 中设置的 PATH 但是当我使用 cron 时 所有 PATH 都不会从 bashrc 使用 是否有一个文件可以像
  • WCF 4 服务的扁平 WSDL

    使用 WCF 3 5 和来自 Christian Weyer 的 FlatWsdl EndpointBehavior 我能够为我的 WCF 服务获取单个平面 WSDL 文件 而无需任何
  • DDD-- 如何补充水分

    Question 从存储库中重新水化聚合体的最佳 高效且面向未来的方法是什么 所提供的方法有哪些优点和缺点 我的看法是否正确 假设我们有一个带有私有 setter 和公共 getter 的聚合根用于访问state 行为是通过聚合根上的方法完
  • Dynamic_cast 中的类型必须是完整类类型的指针或引用,或者 void *

    我希望有人能理解为什么下面的代码失败 我试图从 osg Node 节点对象获取 PositionAttitudeTransform Openscenegraph 类 的实例 但下面有粗体的编译器错误 void CameraPosCallba
  • 为什么扩展元素不适合复制多维数组?

    来自MDN 传播语法 注意 通常 ES2015 中的扩展运算符在复制数组时会深入一层 因此 它们不适合复制多维数组 这与 Object assign 和对象扩展语法的情况相同 请参阅下面的示例以更好地理解 var a 1 2 3 var b
  • Codeigniter 如何创建 PDF

    我要创建一个发票系统 我现在正在为此做准备 我将使用 Codeigniter 问题是我想创建 PDF 格式的发票 这样我就可以通过电子邮件发送它 你们有什么建议 我正在考虑 HTML 到 PDF 的转换 或者在屏幕上显示发票并安装 pdf
  • Boost 随机和 OpenMP

    我从 OpenMP 并行代码部分收到 总线错误 我在下面重新创建了我的问题的简单版本 该代码本质上对函数进行了多次调用uniform distribution 它使用 Boost 的uniform int distribution 绘制 0
  • SQL Server 2005 - 将列设置为只读

    我在 SQL Server 2005 数据库的表中有一个 InsertTime 字段 当记录首次插入数据库时 该字段默认为 getDate 我想确保此专栏不再更新 是否可以将此列设置为只读 或者是否有更好的方法来执行此操作 而无需为开发人员