【发布时间】:2012-02-07 22:49:57
【问题描述】:
我正在使用 SQL Server 构建 WCF 服务,该服务将由 WPF 应用程序使用。我希望我的数据库表具有如下列: CreatedOn、CreatedBy、LastModifiedOn、LastModifiedBy
有没有办法自动创建这些,或者如果没有,我可以创建它们,但是它们的值是否有可能以某种方式由 SQL 服务器填充?
谢谢
【问题讨论】:
-
使用触发器很容易做到这一点。在进行另一次修改之前,您是否对修改后的列是否反映创建的列有任何偏好,或者您是否希望这些列在第一次更新之前为
NULL?还是您要基于应用程序存储的用户名,还是 SQL/Windows 身份验证用户名?我只是不确定 WCF 是否能够真正忽略表中的列。 -
感谢亚伦的回复。修改后的列应与创建的列相同。用户名存储在自定义表中。
-
因此,如果用户名是特定于应用程序的,那么 SQL Server 只有在知道谁调用了存储过程时才会更新这些列。它只会知道,如果您将其传递到处理插入/更新的存储过程中,那么您需要对此进行修改。如果您从我的脚本中删除所有
SUSER_SNAME()部分,它将为您处理日期/时间,但您将无法在不修改 DML 的情况下审核用户名。
标签: wpf sql-server wcf