当前位置: 首页 > 面试题库 >

Microsoft SQL Server:有什么方法可以告诉您何时创建记录?

壤驷敏学
2023-03-14
问题内容

我们的客户希望在记录创建日期之前订购。在我看来,这似乎是一个系统变量,它是记录本身的某种元数据。

有没有一种方法可以告诉您何时创建了一条记录,而没有实际创建带有默认值GetDate()的datetime字段,并希望没有人修改它?


问题答案:

没有。

您需要为此提供一列。

想象一下,如果您需要为创建的每条记录保留一条记录,那么元数据将有多大!您是否还想将元数据保留在元数据上,以便知道元数据何时更新?空间使用会迅速升级。

SQL Server保留一些统计信息,但特定的某些信息需要来自用户定义的字段。

附带说明,如果使用查找表,则可能更难以篡改所创建字段上的日期。创建一个表“
TableName_CreateDate”,并使用实际表中的PK和日期值。您的日期位于单独的位置,不太可能被修改,但是您仍然可以JOIN在该位置上获取订单。您将需要创建一个触发器,以使用新值对此进行更新。

如果只需要 DATE 而不需要datetime值,则可以更进一步,只需要一个日期表和一个连接到该表的查找表即可。IE:

Table->Table.PK + Date.Pk -> DateTable

如果您有很多行(我认为每行4个字节),这将节省大量驱动器空间。



 类似资料:
  • 问题内容: 我刚刚意识到DBUnit本身不会创建表(请参阅如何在不面对NoSuchTableException的情况下使用具有普通JDBC和HSQLDB的DBUnit进行测试?)。 DBUnit有什么方法可以根据数据集或dtd自动创建表吗? 编辑: 为了简单测试像HSQLDB这样的内存数据库,可以使用粗略的方法来自动创建表: 问题答案: 并不是的。正如您链接的答案所指出的那样,dbunit xml

  • 我正在使用Inno安装程序将第三方安装程序与我构建的另一个EXE打包,以便为安装准备我们的公司环境。完成后,我真的很想从最终用户的计算机上删除所有安装程序文件。我试着在我用Inno创建的临时目录上使用,但它不起作用。Inno会自动在安装目录中创建和。所以当它试图删除根目录时,它发现它不是空的。 我不需要Inno的卸载程序,因为3P应用程序有自己的卸载程序。我可以告诉Inno Setup不要创建un

  • 是否有可能告诉Twilio何时可以接受发送另一条消息? 例如,我正在发送这条信息。 Twilio在线路结束后中断是可以接受的,但不能在电话号码、ID或电子邮件中间中断。

  • 材料设计非常强调“纸张”的隐喻。要做到这一点,阴影是必不可少的。由于材料设计是一种理念,而不是API(尽管它内置在L中),因此应该在任何地方(Windows窗体、HTML/CSS等)进行设计。如何在Android API 14到20中做到这一点? 请注意,对于圆形和其他非方形形状,预制PNG实际上并不实用。

  • 所以我必须做以下其中之一: 在每个doSomething调用周围添加try catch块 在main中添加throws语句 删除doSomething中的throws语句 将该条件作为前提条件,这样不遵循该条件就会导致未定义的行为或类似的行为。 3将不起作用,因为doSomething可能会在客户端使用时引发异常。1和2简直是多余的,我认为应该避免。 我的问题是:在提到的选项(或任何其他选项)中,

  • 问题内容: 我有一个使用XML和反射将 s 返回到另一个类的类。 通常,这些对象是外部对象的子字段,但有时我想即时生成它。我已经尝试过类似的方法,但无济于事。我相信这是因为Java不允许你访问进行反射的方法。 如果提供的方法失败,则失败。我可以通过制作方法来解决它,或者制作另一个类来派生它。 长话短说,我只是想知道是否存在一种通过反射访问方法的方法。 问题答案: 你可以使用反射调用私有方法。修改已