2020-08-31 05:05发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在使用HANA hdbsql 来执行包含许多SQL语句的SQL脚本。 我希望它立即停止处理输入文件,并在任何语句得到错误后立即以错误代码退出。 有没有办法做到这一点? 在Oracle的sqlplus中,通过"每当sqlerror退出sql.sqlcode"启用此功能。 我在hdbsql文档中没有找到类似的东西。 如果没有此功能,则很难创建有效的脚本。 您必须能够检测到什么时候不起作用并停止。
对于HDAsql,HANA 2(我的版本是2.3.119)可以通过使用-E <错误代码>命令行参数来实现。
例如,使用如下脚本:
> cat test.sql 从哑元中选择" 1",current_timestamp; 插入测试值(1,'YYY'); 从哑元中选择'2',current_timestamp;
以及对第一个值具有主键约束的表,当我多次运行脚本时,应该会收到一条错误消息。
> ./hdbsql -U HXEDEV- E 5 -I test.sql '1',CURRENT_TIMESTAMP " 1"," 2019-10-31 14:20:51.844000000" * 301:违反唯一约束:表(TEST)错误:在表HXE :: SYSTEM:TEST $ delta_1 $ en的pos = 0上违反唯一约束,键:AAA = 1已存在,因为udiv = 1 SQLSTATE:23000 >
该脚本现在已停止,并且退出了hdbsql。 错误代码应为5(如我们指定的-E 5):
> echo $? 5
因此,"它可以在我的机器上运行!" ;-)
干杯,
啦
啊哈! " -E <退出代码>"谢谢,拉斯。
-E选项未在我所查看的《用于SAP HANA平台的SAP HANA管理指南》(第14章-SAP HANA HDBSQL参考)中记录。 如果您键入" hdbsql-?",它会显示在用法文本中。 所以至少它在那里。 SAP注意:您需要更新文档!
您好,
恐怕当前我们无法取消它们。 。
谢谢。
感谢您的回答,尽管不是我希望的。 就像我在上面说的那样,没有此功能使创建有效的脚本非常困难。
最多设置5个标签!
对于HDAsql,HANA 2(我的版本是2.3.119)可以通过使用-E <错误代码>命令行参数来实现。
例如,使用如下脚本:
以及对第一个值具有主键约束的表,当我多次运行脚本时,应该会收到一条错误消息。
该脚本现在已停止,并且退出了hdbsql。 错误代码应为5(如我们指定的-E 5):
因此,"它可以在我的机器上运行!" ;-)
干杯,
啦
啊哈! " -E <退出代码>"谢谢,拉斯。
-E选项未在我所查看的《用于SAP HANA平台的SAP HANA管理指南》(第14章-SAP HANA HDBSQL参考)中记录。 如果您键入" hdbsql-?",它会显示在用法文本中。 所以至少它在那里。
SAP注意:您需要更新文档!
您好,
恐怕当前我们无法取消它们。 。
谢谢。
感谢您的回答,尽管不是我希望的。 就像我在上面说的那样,没有此功能使创建有效的脚本非常困难。
一周热门 更多>