旧版应用程序使用触发器而不是触发器在表上执行INSERT,然后使用行数进行进一步处理。
现在,我们需要使用INSTEAD OF INSERT
触发器选择退出某些INSERT 。
问题是@@ ROWCOUNT仍返回 尝试 插入的次数。
例如,一个永远不会完成插入的虚拟触发器可能是
ALTER TRIGGER [dbo].[trig_ACCOUNT_CREDITS_RunningTotalINSERT]
ON [dbo].[ACCOUNT_CREDITS]
INSTEAD OF INSERT
AS
BEGIN
--tried with NOCOUNT ON and OFF
SET NOCOUNT OFF;
--This is an example of the branching logic that might determine
--whether or not to do the INSERT
IF 1=2 --no insert will ever occur (example only)
BEGIN
INSERT INTO dbo.ACCOUNT_CREDITS (COL1, COL2)
SELECT COL1, COL2 from INSERTED
END
END
和一些INSERT语句可能是
--No rows will be inserted because value of COL1 < 5
INSERT INTO dbo.ACCOUNT_CREDITS (COL1, COL2) VALUES ( 3, 3)
--We would assume row count to be 0, but returns 1
select @@ROWCOUNT
--No rows will be inserted because value of COL1 < 5
INSERT INTO dbo.ACCOUNT_CREDITS (COL1, COL2)
SELECT 1, 1
union all
SELECT 2, 2
--We would assume row count to be 0, but returns 2
select @@ROWCOUNT
我可以解决此问题,但是令我不信任@@ ROWCOUNT的问题困扰我。我在SO或 其他 知识库中找不到关于此问题的参考。这仅仅是 TRIGGERS
ARE EVIL的
一个例子 吗?
我可以影响@@ ROWCOUNT吗?
某些语句可能会在触发器内更改@@ ROWCOUNT。
陈述
SELECT * FROM INSERTED WHERE COL1 < 5
执行并将@@ ROWCOUNT设置为1
认沽声明
SET NOCOUNT ON;
然后
IF NOT EXISTS (SELECT * FROM INSERTED WHERE COL1 < 5)
BEGIN
SET NOCOUNT OFF;
INSERT INTO dbo.ACCOUNT_CREDITS (COL1, COL2)
SELECT COL1, COL2 from INSERTED
END
问题内容: 我正在编写一个JSP / Servlet,并且试图获取URI的锚点部分,例如: 如何从我的请求中获得分数?显然行不通吗? 任何帮助都将受到欢迎。 问题答案: 这是不可能的,因为客户端不会将“锚定部分”发送到服务器 例如,这是Chrome提交后生成的确切请求(使用Wireshark记录): 看,没有#foobar。因此,服务器应用程序无法读取它。 您可以做一些JavaScript魔术,将
问题内容: 我正在编写一个JSP / Servlet,并且尝试获取URI的锚点部分,例如: 如何从我的请求中获得分数?显然行不通吗? 任何帮助都将受到欢迎。 问题答案: 这是不可能的,因为客户端不会将“锚定部分”发送到服务器 例如,这是Chrome提交后生成的确切请求(使用Wireshark记录): 看,没有#foobar。因此,服务器应用程序无法读取它。 您可以做一些JavaScript魔术,将
问题内容: 我可以从org.w3c.dom.Node获取完整的xpath吗? 说当前节点指向xml文档中间的某个位置。我想提取该元素的xpath。 我正在寻找的输出xpath是。节点xpath的父级。只需忽略具有表达式并指向同一节点的xpath。 问题答案: 没有获取XPath的通用方法,主要是因为没有一个通用XPath可以标识文档中的特定节点。在某些架构中,节点将由属性唯一标识(并且可能是最常见
问题内容: HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(“http://my.server:8080/android/service.php"); 生成一个json字符串。我该如何从我的手机上获取?顺便说一句; 我已经将该库排除在外了,我可以在其中使用任何方法吗? 有更好的方法,
问题内容: 我正在解决有关作为服务器响应的JSONObject的问题。 正如您在响应中看到的那样,我正在解析JSONObject并创建syncresponse,synckey作为 JSON对象 createdtrs,modtrs,deletedtrs作为 JSONArray 。我想从Deletedtrs访问JSONObject,以便可以将它们分开并使用这些值。即我想提取公司编号,用户名,日期等。
问题内容: 我正在尝试完成一项看似简单的任务,但该任务已经变成了数小时的冒险:从入门。 这是我的代码: 一个 答案 表明,我可能要做的就是更改。我试过了 这使退出工作(因为我现在返回的是标量而不是rowdata)(我需要保留GetData())。它还不能解决该问题,因为insertID变量仍设置为1。 我试图创建第二个在和设置属性为适配器“标”,但它仍然无法与变量中获得的值为1。 生成的插入命令是
我目前开始编写一个可以加载不同游戏的棋盘游戏游乐场。我将这些游戏存储在名为config.txt的文件中,但我无法访问它。首先,我从我最喜欢的文件方法开始: 但当我建造的时候。jar文件,它停止工作。因为显而易见的原因。所以我四处看看,发现了关于使用getResourceAsStream(String s)方法的建议。因此,我将代码更改为以下方式: 但在这里我被卡住了。无论我如何调整文件地址(尝试了
我有一个简单的取回请求。我不是promise和异步代码方面的专家,但据我所知,fetchurl发送一个请求来打开/获取/发布一个url,并返回传递该内容的promise(响应)。当获取内容时,我可以在文本(response.text())中解析它。解析后的文本/json,无论什么,都会作为数据传递给另一个函数,并在这里进行处理 **JS代码** 因此,如果我获取一个PHP URL,返回一个json