[英]How to do an IF EXISTS in hana SQL query
I have this query code:我有这个查询代码:
IF EXISTS (
SELECT
*
FROM sys.objects
WHERE object_id =
OBJECT_ID(N'[dbo].[BAL_WMS_STAGING]')
AND type in (N'U')
)
DROP TABLE
[dbo].[BAL_WMS_STAGING]
GO
CREATE TABLE
I am trying to use this statement to query an SAP Hana Database.我正在尝试使用此语句来查询 SAP Hana 数据库。 The beginning of the query IF EXISTS
keeps throwing an error, I assume that this means that this keyword does not exist in Hana SQL syntax.开始查询IF EXISTS
一直报错,我假设这意味着这个关键字在Hana SQL语法中不存在。 Does anyone know how to do an IF EXISTS
check in Hana, as I am unable to find any answer online.有谁知道如何在 Hana 中进行IF EXISTS
检查,因为我无法在网上找到任何答案。
If EXISTS is a non-standard syntax that HANA doesn't support.如果 EXISTS 是 HANA 不支持的非标准语法。 As an alternative you can query the catalog and write a IF...THEN
statement in SQLScript.作为替代方案,您可以查询目录并在 SQLScript 中编写IF...THEN
语句。
An alternative to using IF EXISTS could be something like this:使用 IF EXISTS 的替代方法可能是这样的:
SELECT *
FROM sys.objects
WHERE object_id = (
CASE
WHEN EXISTS (
SELECT object_id
FROM sys.objects
WHERE object_id = OBJECT_ID(N'[dbo].[BAL_WMS_STAGING]')
AND type IN (N'U'))
THEN (
SELECT object_id
FROM sys.objects
WHERE object_id = OBJECT_ID(N'[dbo].[BAL_WMS_STAGING]')
AND type IN (N'U'))
ELSE
NULL
END
)
AND type IN (N'U')
SQLScript does not have IF EXIST condition. SQLScript 没有 IF EXIST 条件。 But same logic can be achieved by creating a variable (flag) that is initialized by your first query.但是可以通过创建一个由您的第一个查询初始化的变量(标志)来实现相同的逻辑。 You dont need to select all the columns.您不需要选择所有列。 You can select as an example object_id.您可以选择 object_id 作为示例。
flag = '';
SELECT object_id INTO flag FROM sys.objects
WHERE object_id =
OBJECT_ID(N'[dbo].[BAL_WMS_STAGING]')
AND type in (N'U');
IF flag != '' THEN
DROP TABLE [dbo].[BAL_WMS_STAGING]
END IF;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.