点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我想在不编写存储过程的情况下将以下SQL代码转换为HANA代码。 感谢您的建议。
--------------------------------------------------- --------------------------------
声明@Table_Name Varchar(100)
设置@Table_Name =(从Sys.tables中选择名称,其中Left(Name,Charindex('_',Name))='Test _')
声明@SQL Nvarchar(max)
设置@SQL ='选择*从'+ @ Table_Name +';'
打印@SQL
Exec SP_executeSQL @ SQL
--------------------------------------------------- --------------------------------
谢谢
Vinay
hana.png你好,维纳伊
我正在为您提供参考。
从table_Columns中的左侧(TABLE_NAME,locate(TABLE_NAME,'::')-1)='HANA_CDS_TEST'中选择TABLE_NAME
此处的"定位"功能与charindex一样。 但是我使用的是'::'而不是'_'来分隔文本。 请相应地调整您的代码。
此致
Shawon
为什么不将其包装在返回表的函数中,您可以在select * from中使用该表函数。
让我知道您是否需要我这样做。
DO
开始
声明Table_Name_Count整数;
声明Table_Name NVARCHAR(100);
声明SQLString Nvarchar(100);
从SYS.TABLES中的SELECT_COUNT(TABLE_NAME)中选择COUNT(TABLE_NAME)到SYS_TABLES中,TABLE_NAME与'TEST_%'和SCHEMA_NAME ='XXX'类似;
IF Table_Name_Count> 1则
从SYS.TABLES的TABLE_NAME中选择TOP 1 TABLE_NAME到TABLE_NAME中,例如SELECT'TEST_%'AND SCHEMA_NAME ='XXXX'; -假设此处仅返回表的一行计数。如果大于1,则必须使用while/for循环
SQLString ='选择*来自'|| Table_Name; 执行立即SQLString;
ELSE SQLString ='找不到表';
SELECT:SQLString FROM DUMMY;
END IF;
END;
一周热门 更多>