我正在尝试使用RJDBC连接到SAP HANA数据库并查询临时表,该表存储有#-prefix:
test <- dbGetQuery(jdbcConnection,
"SELECT * FROM #CONTROL_TBL")
# Error in [...]: invalid table name: Could not find table/view #CONTROL_TBL in schema USER
如果我在HANA中执行SQL语句,它可以正常工作。我也能查询永久表。因此,我假设R不会传递主题标签。然而,插入"SELECT * FROM \\#CONTROL_TBL"
之类的转义并没有解决我的问题。
答案 0 :(得分:1)
无法从不同的会话查询本地或全局临时表的数据,因为它们根据定义是特定于会话的。对于全局临时表,可以查询表的元数据,因为它们是跨会话共享的。
答案 1 :(得分:0)
好的,本地临时表始终只对已定义它们的会话可见,而全局临时表与普通表一样可见,但数据是会话私有的。
所以,如果你创建了本地temp。在不同的会话中,表(名称以#开头),难怪无法找到它。
对于您的示例,问题是:为什么您首先需要临时表? 而不是那样,你可以例如定义视图或表函数以从中选择数据。