当发生异常时,我想从过程中返回错误消息。在SQL Server中,您将选择Error_Number()和Error_Message()。我将如何在FirebirdSql中做到这一点
SET TERM ^ ;
CREATE PROCEDURE sprocname
( id int )
RETURNS
( gcode int, errmsg varchar(250) )
AS
BEGIN
gcode = 0;
errmsg = '';
-- do procedure code here
WHEN ANY DO
BEGIN
gcode = gdscode; -- ??
errmsg = ??;
END
SUSPEND;
END^
SET TERM ; ^
最佳答案
不幸的是,您将需要在客户端执行此操作,因为当前无法在PSQL中获得此功能。 Firebird跟踪器中有一个feature request,已为Firebird 4实现,预计在2019年发布。
请参阅Firebird 4 Beta 2 release notes, section System Function RDB$ERROR()(警告:链接可能会在下一版本或GA版本中中断):
关于firebird - 在FirebirdSql中,如何从过程返回异常消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20555143/