SQL Server Express触发器
我的公司正在使用一个叫做LanSweeper的库存跟踪系统来跟踪库存。它使用SQL Server Express存储数据。软件不会记录对数据库所做的更改。。。比如说有人删除了一台笔记本电脑,他们不想让任何人注意到它的丢失。。。我对SQLite非常熟悉,能够掌握语法,但我了解到,所有SQL风格之间都有相当多的差异。是否有任何方法可以直接在数据库上创建触发器,从而允许输出到某个地方的SQL Server Express触发器,sql,sql-server,Sql,Sql Server,我的公司正在使用一个叫做LanSweeper的库存跟踪系统来跟踪库存。它使用SQL Server Express存储数据。软件不会记录对数据库所做的更改。。。比如说有人删除了一台笔记本电脑,他们不想让任何人注意到它的丢失。。。我对SQLite非常熟悉,能够掌握语法,但我了解到,所有SQL风格之间都有相当多的差异。是否有任何方法可以直接在数据库上创建触发器,从而允许输出到某个地方的.txt文件?触发器是一项棘手的工作,因此请花时间了解它们。它们并不像表面上看起来的那么简单(例如,当在一个交易中进行
.txt
文件?触发器是一项棘手的工作,因此请花时间了解它们。它们并不像表面上看起来的那么简单(例如,当在一个交易中进行多个更新时,您必须满足需求)
您可以开始阅读手册:
使用触发器将更改写入表,而不是文本文件。这里不打算讨论太多细节,因为这是一个完整的其他讨论,但相信我,您不希望触发器写入文件
一般进近时间:
抱歉,如果这看起来有点刺耳,只是想帮助您避免在此处重新发明轮子。您不想输出到文本文件。抱歉,让我重新措辞:“您可能想输出到文本文件,但不应该。改为写入另一个表”.我之所以说txt文件是因为我在寻找一个简单快捷的解决方案?我意识到写入另一个表是很理想的,如果这是sqlite,我会很乐意这样做,因为抛出一个java应用程序来查看和跟踪此表中的数据是我可以在几分钟内完成的事情。但是假设另一个表是唯一的选择,我该怎么做呢s?我真的很欣赏这个例子,我有一个非常基本的触发器,我想尝试一下…但是我如何连接sql express?它是服务器版吗?我有一个名为sql Offline的程序,它允许我查看表,但我实际上无法对表运行查询。你还没有说什么版本(年份)关于您正在使用的SQL Server,但您正在寻找一款名为SQL Server Management Studio Express的产品。事实上,我没有使用SQL Server。此数据库存储在程序的本地。它使用IIS Express托管。我没有SQL Server的任何经验…更不用说我无法学习,但在我使用sqlite的经验中,有第三个问题我可以将db文件加载到聚会应用程序中,编辑并在完成后将其放回。sql express没有类似的功能?我假设sql server management studio express是一个“插件”sql server的种类?SSMS是一个可以连接到sql server数据库的独立应用程序。它所指的更改是由软件本身进行的更改。Lansweeper执行网络发现,并跟踪软件何时找到资产,何时ip之类的更改等。我认为这将是一个非常糟糕的问题所以我给他们发了电子邮件,他们确认虽然这个功能在他们的“愿望列表”上,但它不是软件的当前功能。
CREATE TABLE your_table_audit (
nice char(1)
, things int
, modified_by sysname NOT NULL DEFAULT SUser_SName() --This depends on your authentication method
, when_changed datetime NOT NULL DEFAULT Current_Timestamp
);
CREATE TRIGGER your_table_audit_trigger
ON your_table
AFTER DELETE
AS
BEGIN
INSERT INTO your_table_audit (nice, things)
SELECT nice
, things
FROM deleted
END
;