BEGIN TRY
……
END TRY
BEGIN CATCH
……
END CATCH。
另外,WITH 语句如果前面还有别的SQL语句,应该在前面的SQL语句结尾加上分号";"。比如在这个TRY CATCH里,就应该在前面加个";",如下:
BEGIN TRY
WITH w AS(
SELECT f1,f2,f3
,ROW_NUMBER() OVER(ORDER BY Id DESC) AS Row
FROM [t1]
WHERE Code=@Code
)
INSERT INTO [t2](
f1,f2,f3
SELECT f1,f2,f3
FROM w WHERE Row>100;
END TRY
BEGIN CATCH
END CATCH;
相关文章
- SQL Server里的闩锁耦合(Latch Coupling)
- SQL Server里的文件和文件组
- python错误处理—try…catch…finally、调用栈分析
- 错误。在新的asp.net mvc4错误处理您的请求时发生错误,找不到sql server?
- SQL Server 2016里的sys.dm_exec_input_buffer的问题
- 如何在SQL Server中从try/catch子句中获取内部错误?
- PHP 的异常处理、错误处理:error_reporting,try-catch,trigger_error,set_error_handler,set_exception_handler,register_shutdown_function
- 漫话JavaScript与异步·第三话——Generator:化异步为同步 一、Promise并非完美 我在上一话中介绍了Promise,这种模式增强了事件订阅机制,很好地解决了控制反转带来的信任问题、硬编码回调执行顺序造成的“回调金字塔”问题,无疑大大提高了前端开发体验。但有了Promise就能完美地解决异步问题了吗?并没有。 首先,Promise仍然需要通过then方法注册回调,虽然只有一层,但沿着Promise链一长串写下来,还是有些让人头晕。 更大的问题在于Promise的错误处理比较麻烦,因为Promise链中抛出的错误会一直传到链尾,但在链尾捕获的错误却不一定清楚来源。而且,链中抛出的错误会fail掉后面的整个Promise链,如果要在链中及时捕获并处理错误,就需要给每个Promise注册一个错误处理回调。噢,又是一堆回调! 那么最理想的异步写法是怎样的呢?像同步语句那样直观地按顺序执行,却又不会阻塞主线程,最好还能用try-catch直接捕捉抛出的错误。也就是说,“化异步为同步”!
- sql server如何将两个同名数据库里的内容合并到其中一个?
- Golang try catch与错误处理的实现