我正在尝试使用带有SQL的 TRY / CATCH / THROW 语句,但我不熟悉如何为最有效的代码输入所有内容,以及将与每个代码配对的代码那些方法。
我目前的代码是
BEGIN TRY
Insert Into ENT_ITEM_MASTER
from Sheet1$
WHERE ITEM_CODE = ENT_ITEM_MASTER
END TRY
BEGIN CATCH
If ITEM_CODE <> ENT_ITEM_MASTER
THROW;
END CATCH;
我想要它做的是,如果ITEM_CODE <> ENT_ITEM_MASTER
那么它将跳过该项目代码并转到下一个。
如果有人可以解释如何正确抛出该异常并添加一些确切CATCH
和THROW
的详细信息,那么我可以更好地了解它们的用途,这将是非常有帮助的
我有一个链接服务器到一个包含16,000行信息的Excel文件。我的代码将该信息插入到项目列表中。它与另一个程序链接,这样,如果我搜索一个项目代码,它上面的所有信息都会出现。
编辑以解决问题。试用代码:
Insert Into ENT_ITEM_MASTER
from Sheet1$
WHERE ITEM_CODE = ENT_ITEM_MASTER
If ITEM_CODE <> ENT_ITEM_MASTER
Insert Into ENT_ITEM_MASTER
from Sheet1$
WHERE ITEM_CODE = ENT_ITEM_MASTER
Else
答案 0 :(得分:0)
您确定需要尝试/捕获/抛出吗?看起来你可以做一个for循环,为每一行循环使用嵌套的if语句来检查如果ITEM_CODE&lt;&gt; ENT_ITEM_MASTER。如果满足条件则 插入ENT_ITEM_MASTER 来自Sheet1 $ 在哪里ITEM_CODE = ENT_ITEM_MASTER 其他()。这有意义吗?
答案 1 :(得分:0)
在重新思考你的问题后,我相信一个案例陈述是最好的。
尝试: ITEM_CODE = ENT_ITEM_MASTER那时的情况 插入ENT_ITEM_MASTER 来自Sheet1 $ 在哪里ITEM_CODE = ENT_ITEM_MASTER END