Sap 如何获取HANA中最后执行的SQL语句?
我在一个SQLScript过程中,希望返回此过程中的最后一条SQL语句,如最后一行计数:Sap 如何获取HANA中最后执行的SQL语句?,sap,hana,Sap,Hana,我在一个SQLScript过程中,希望返回此过程中的最后一条SQL语句,如最后一行计数: /********* Begin Procedure Script ************/ BEGIN select 1 as "my_data" from dummy; select '::last_SQL' as "last executed sql" from dummy; select ::ROWCOUNT as "rowcount" from dummy; END;
/********* Begin Procedure Script ************/
BEGIN
select 1 as "my_data" from dummy;
select '::last_SQL' as "last executed sql" from dummy;
select ::ROWCOUNT as "rowcount" from dummy;
END;
/********* End Procedure Script ************/
在本例中,“上次执行的SQL”列应填充“选择1作为来自虚拟的“my_数据”。是否有保存最后一条语句的变量(或检索查询计划的简单方法)?无法以编程方式在SQLScript中获取最后执行的SQL语句。这是因为并非所有语句都将以源代码中出现的形式和顺序执行 如果要分析过程的性能,可以针对过程调用运行PlanViz。一般来说,没有“过程/函数的性能”这样的事情,因为它们总是发生在特定的上下文中。
如果在SQL查询中使用,查询转换之类的事情可以从根本上改变某些结果的计算方式 也许您可以查询sys.m\u sql\u plan\u cache系统视图 请检查下面的SELECT语句
select
statement_string, last_execution_timestamp
from SYS.M_SQL_PLAN_CACHE
where user_name = 'KODYAZ'
order by last_execution_timestamp desc;
我相信您可以通过引入新的筛选条件来改进查询。当我在SQL语句中以注释的形式给出唯一标识符来标识“我的”查询时,这种方法非常有效。谢谢我的目的不是监测或分析业绩。Szenario如下:一个部门“A”将向部门“B”提供一些报表,以产生一些产出。与此输出(只是表格中的一些数字)一起,部门“a”希望确定哪个语句生成了书面输出。使用acepted答案,可以轻松地编写带有标识符的语句,查询该语句上次运行的时间,并将其写入表中。好吧,你可以搞定这一点,但所有这些都不是关于安全,而是关于“自我记录”之类的东西。