Min*_*iel 1 sql sql-server visual-studio-2010 visual-studio
在SQL SERVER 2008中,如何将错误消息作为select语句返回
喜欢
SELECT ** FROM emp
Run Code Online (Sandbox Code Playgroud)
将返回以下错误
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '*'.
Run Code Online (Sandbox Code Playgroud)
我只需要将第二行作为SELECT声明返回
我试过@@ ERROR,但看起来它只返回错误代码
我正在做的是验证来自客户端的sql语句,所以如果有一种方法可以在没有命中服务器的情况下执行此操作,那么我也会使用VB
谢谢
你确实看到了Incorrect syntax near '*'.,不是吗?这意味着它被退回了!
您可能想知道如何检索错误消息文本,答案是您只能捕获执行期间发生的错误(语法错误是编译并且无法在同一批次内捕获)并且您必须使用BEGIN ... TRY/BEGIN ... CATCH块.在catch块内,该ERROR_MESSAGE()函数将返回捕获的异常文本.
因此,为了给出一个示例基础,请将代码包装在BEGIN TRY/BEGIN CATCH中,并在不同的批处理中使用不正确的语法:
begin try
exec sp_executesql N'SELECT ** FROM emp';
SELECT NULL;
end try
begin catch
select ERROR_MESSAGE();
end catch
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17367 次 |
| 最近记录: |