我一直在研究在我目前正在编程的环境中使用数据库事务(带有 WebMatrix 的 C#.Net WebPages,使用 SQL Server CE),并且已经阅读了很多关于该主题的内容。
起初,我正在研究这个问题,因为我觉得这对我的项目来说是 100% 必要的,不过,现在我意识到默认的“Last-in-wins”并发策略适用于我有点简单的 CRUD 系统。
现在,我没有足够的知识来真正说我 100% 需要这个,但如果可能的话,我想将所有我必须多次访问数据库的语句集中到一个语句,以最大程度地减少必须锁定数据库的次数(同样,我不确定这是否值得担心,但感觉就像单个语句会更清洁,更高效,甚至可能更少容易出错)。
在我的服务器端代码中,我有一些逻辑分支,根据是否可以重用 ID 号,需要为我需要添加的每一行对数据库执行一个INSERT INTO
或一个语句。UPDATE
问题是除了事务之外,没有其他方法可以将多个UPDATE
和/或INSERT
语句组合成一个可通信的语句。
最后,在我自己查看环境的事务语法时,我遇到了许多描述事务如何工作的页面,但没有提供任何语法示例。我确实找到了这个页面...:
...实际上是针对我的环境和服务器端代码,但是,在我输入时,所使用的语法并没有显示在 Intellisence 中,这一直是语法错误的迹象。不过,在这个页面中,我可以很容易地看到我应该如何合理地进行设置(使用“try”、“catch”甚至“finally”),这对我来说非常有意义。我的问题是我找不到任何关于如何实际编译事务的给定环境的语法。
有没有人可以提供一个示例,说明在我的带有 WebMatrix 的 C#.Net WebPages 中,使用 SQL Server CE 环境编译具有多个INSERT
和语句的数据库事务所需的语法?UPDATE