@@ERROR
功能描述
Vastbase在SQLServer兼容模式下支持@@ERROR函数,可以针对错误处理捕获相应的错误号。返回值为INT类型,0表示命令成功,非0值表示命令执行报错,返回 Vastbase G100的具体错误号。
注意事项
该功能仅在数据库兼容模式为SQL Server时能够使用(即创建DB时DBCOMPATIBILITY='MSSQL'),在其他数据库兼容模式下不能使用该特性。
@@ERROR特性仅在SQLServer兼容性下的plpgsql中使用。
使用该功能需要开启GUC参数enable_set_variable_mssql_format。
示例
前置步骤
1、创建兼容模式为SQL Server的库db_sqlserver,并进入。
CREATE DATABASE db_sqlserver DBCOMPATIBILITY='MSSQL';
\c db_sqlserver
2、开启GUC参数。
set enable_set_variable_mssql_format=on;
示例1: SELECT直接调用。
select @@error;
返回结果为:
mssql_error
-------------
0
(1 row)
示例2: 匿名块中调用@@ERROR。
declare
begin
begin try
create database db1_1144363;
end try
begin catch
raise info 'error:%', @@ERROR;
end catch;
end ;
/
返回结果为:
INFO: error:16777538
ANONYMOUS BLOCK EXECUTE